


Doki Doki Literature Club!: Bugs, Glitches and Exploits for Dummies

by CreativityTheEmotion



Series: Doki Doki Infinite Choices AU [2]
Category: Doki Doki Literature Club! (Visual Novel), Homestuck
Genre: Gen, ~ATH
Language: English
Status: Completed
Published: 2020-02-14
Updated: 2021-02-14
Packaged: 2021-02-27 19:35:19
Rating: Teen And Up Audiences
Warnings: Graphic Depictions Of Violence
Chapters: 80
Words: 118,468
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/22681066
Author URL: https://archiveofourown.org/users/CreativityTheEmotion/pseuds/CreativityTheEmotion
Summary: Have the Dokis flipped out on you on your first DDLC playthrough, or on your latest? Do you want to know the exact technical details why? Perhaps you are bored of vanilla playthroughs and want to explore above and beyond? Regardless of your exact intentions, this guide will tell you everything there is to know about DDLC, and then some.Are incredibly cute girls just not your thing? In that case, may I interest you in my ~ATH tutorial? After all, it's a programming language with possibly infinite untapped potential, especially regarding living things, and you can be one of its pioneers. Once you get past the positively infuriating syntax and runtime restrictions, that is.A piece heavily influenced by Sburb Glitch FAQ and the subsequent Replay Value AU.
Series: Doki Doki Infinite Choices AU [2]
Series URL: https://archiveofourown.org/series/1654861
Comments: 41
Kudos: 68





	1. Notices and Credits

BUGS, GLITCHES AND EXPLOITS FOR DUMMIES

(it's 2020 now and lo-fi ASCII art is so out of fashion, trust me)

# [0000] ATTN: THIS IS NOT A WALKTHROUGH

Due to the very nature of the game, which the rest of this document expounds upon, it is honestly quite impossible to write a detailed walkthrough of DDLC that will account for _your_ specific experience and hold _your_ specific hand. Asking for that, really, would be equivalent to asking how to ask a girl out in real life, and as we all romance-deprived loners living in their parents' basements know, a lot of factors come into play, and for the most part, holding hands isn't going to do much here. Some, I think, gather into this "incel" group which tries to define why they, in and of themselves, are "forever alone", but I don't even think _that_ is a leading cause.

Luckily, while one cannot guide you through the entirety of the shit Salvato managed to cram into a single week or two of in-universe material, with all the intricate options and routes, into a concise walkthrough (or a walkthrough of any sorts, really), one _can_ tell you, almost guaranteed, that there aren't even that many choices to make in the long run, and from there, picking the right choice is mostly a matter of common sense.

**TL;DR:** Don't be a dick to the girls, try and stay faithful to just one of them and roll a d120 for the absence of glitches (yeah, they actually sell d120, and the probability of a glitchless run _does_ seem to be in the rough ballpark of 119 to 1).

While we're in the proverbial TL;DR section, which I suppose you _are_ reading with care, I should also mention that it is quite impossible to spoil this game due to how it's generated, so while this is optional, absolutely do take notes on your first playthrough. Better yet, before you start playing, download OBS and record your entire reaction - just remember to turn the recording off when I tell you. If you do stick around and become One of Us, invariably, you're going to treasure it.

If you were looking for a concise walkthrough, you can leave now. In addition, if you were looking for a concise walkthrough, you _should_ leave now, since believe me, this guide is going to dump more technical knowledge on you, all at once, than required by the most demanding professions, and given the amount of shit discovered, that Salvato has put in, if there isn't an undergrad, graduate _and_ PhD DDLC course before the decade is out, I will promptly print the entire hefty document out and eat it all, live on Twitch.

_cue the audience leaving, Downfall parody style, just before the part where Hitler blows up_

# [0001] ATTN_2: HOW TO READ THIS DOCUMENT

Well, I suppose, this is where I blow up. However, unlike our favorite dictator, I won't blow up in anger per se; instead, I will blow up with information, since, as mentioned before, there is just Too Much to unpack, as far as DDLC goes.

This is where you simultaneously don't need to worry and _do_ need to worry. Technical knowledge needed to explain the game will be provided, in small chunks, from the beginning of this guide to the end. However, there is a lot of stuff to unpack, and getting all flowery purple prose-y simply isn't going to serve us any good, and pretty soon, you might - nay, _will_ \- feel like shit is being thrown at you too fast. In that case, the simple advice I can give is to pause the reading, rewind a bit to the technical terms that you failed to understand, re-read their descriptions, perhaps take to a classroom with a notebook (and yes, there _does_ seem to be a dummied-out notebook mode in the game for... I think this is too advanced stuff for now) and really study until you get an A+ on every single subject.

As far as knowledge of actual school subjects goes, I'm tempted to say that you'll need to be well-versed in computer programming, but odds are, your usual programming knowledge isn't going to do you any good here, since the vast majority of DDLC is coded in a language that you have never heard of, _I_ had never heard of before starting to crack the game open like an oversized piñata and which seems to transcend every single programming language paradigm all at once. Still; if I don't clarify any mainstream programming terms, you are free to hit up any of the multitude of "learn programming" sites and go through them. (If you are wondering which programming language to pick, just go for Python. Not even going into how it's an "easy" high-level programming language that you can easily get into, DDLC's "outer shell" so to say is actually written in Ren'Py, which is a Python library for visual novels and does, by default, allow for inline Python, allowing you to do some basic modding of DDLC if you choose to do so.) Your typical programming terms are going to be in `code`, while terms specific to DDLC and its positively arcane gameplay and code mechanics are going to be in **_bold italic_**.

Chapter headings are going to look like [****] CHAPTER TITLE, and should be easily searched with Ctrl+F, should you feel the need to look up a cross-reference - or go back to the part of the text that prompted you to look up the cross-reference. Alternatively, thanks to the magic of JavaScript (more programming languages may or may not have been involved), the version of the document on my website ([https://​dokidocs.​net/​glitch_​faq/](https://dokidocs.net/glitch_faq/)) has a dynamically updating table of contents, allowing you to click through between the chapter and its TOC listing. (That is, unless you have enough screen real estate and the TOC just chills there, to the left, forever.) Another cool thing that this version allows for is dark mode: if you've noticed the little sun doodad on the top right, you can click it and it'll turn into a moon doodad, as well as turn on dark mode, and then you can click it, again and again, to your heart's content.

However, even though the AO3 version _of this document_ might be a little less technologically advanced (due to reasons that should honestly be obvious), AO3, itself, is plenty advanced as a service. You could probably just find a dark mode sitewide skin somewhere, and a complete TOC with _real_ chapter headings is going to require a slightly different hack, that I discovered while writing a similar-ish essay document: presuming you're reading this on somewhere that has the "Inspect Element" mode, enter it and just find a way to enter this to a stylesheet (be sure to "View Entire Work" before executing this):

`p, ul, ol, blockquote, div.preface, .meta, #header, #feedback, .landmark {display: none;}  
#main {padding-bottom: 0;}`

Voilà. All the body text is now gone, and what remains is the headings, providing a table of contents.

Other than that, another **TL;DR** (don't worry, we're going to run out of TL;DRable info very soon) is simply: pay attention, brush up on your programming skills and remember that I'm presenting information in a strictly ordered, noob-friendly manner.

Still with me? Still ready to invest upwards of 10,000 hours, which some people seem to have declared the limit at which you can call DDLC your profession and expertise? Well, let's go.

# [0010] PLACEHOLDER: HOW TO READ THIS DOCUMENT - IF YOU ARE JUST A CASUAL PLAYER PASSING BY

Although I don't think there's much to be found for the casual player, I reserve this section if I need to cater to that specific audience. I go into this slightly more in depth in [0300] HOW TO PLAY DDLC.

# [0050] CREDITS AND COPYRIGHT

Doki Doki Literature Club! is © 2017 Team Salvato. This is an unofficial guide, created entirely through the effort of a multitude of fans across varying fields of expertise, and is designed to be read after playing the game itself. DDLC can be freely downloaded and played over at [https://​ddlc.​moe](https://ddlc.moe). For further details on using the intellectual property, as well as any others introduced by Team Salvato, please consult the latest version of the Team Salvato IP guidelines over at [http://​teamsalvato.​com/​ip-guidelines](http://teamsalvato.com/ip-guidelines).

This guide highly concerns itself with reverse engineering of the game. Said reverse engineering is believed to have been conducted entirely using clean-room techniques, and therefore, not infringe on any copyright or patents. Throughout its lifetime, the guide will closely monitor the sources of the claims that it makes, and if any of them appears to directly violate copyright or patents, it will be promptly removed.

The guide itself, for the most part, is © 2020-whenever me, Creativity­The­Emotion, and does its best to not rely on any external writing exclusively, except when necessary, in which case explicit links are provided. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [L000] GNU FREE DOCUMENTATION LICENSE.

In addition to allowed expandability upon the guide in your documents, subject to the license above, content may be freely contributed, adding to _this_ guide, by any and all aspiring contributors who _aren't_ snobbish assholes looking to keep awesome DDLC insider knowledge to themselves, and whenever content from external sources is contributed, it will be clearly labeled as follows:

# [0051] AN EXAMPLE GUEST CHAPTER

**Contributed by [your username can be here!], either © or explicitly released through a libre license (either the GNU FDL or a compatible license, such as Creative Commons).**

[This is where your guest chapter's text would go...]

**Notes for the Chapter:**

> While the GNU FDL is included in selfhost, it is _not_ included in the AO3 version because I didn't write it and that would unfairly pad my wordcount, and in either case, [https://​www.​gnu.​org/​licenses/​fdl-1.3​.en​.html](https://www.gnu.org/licenses/fdl-1.3.en.html)


	2. Version History

# [0060] VERSION HISTORY

_Interim versions consist solely of new non-chron blog entries, and therefore, as the main body of the document (including previous non-chron blog entries) remains unmodified, do not include additional release notes._

**Version 1.18 interim 7 - February 14, 2021 (D1241) 13:00 UTC**

  * New: [A025] BLUE SKIES - SAYORI ROUTE: IF YOU RECONNECT AFTER A WHILE, YOU'RE MEANT TO BE



**Version 1.18 interim 6 - December 11, 2020 (D1176) 19:00 UTC**

  * New: [A024] REGARDING THE FILES THAT DDLC LEAVES ON YOUR COMPUTER



**Version 1.18 interim 5 - October 9, 2020 (D1113) 19:05 UTC**

  * New: [A023] REGARDING MY EXTENDED ABSENCE AND FANDOM NEWS - PART 1



**Version 1.18 interim 4 - September 25, 2020 (D1099) 19:35 UTC**

  * New: [A022] IMPLICATIONS OF ALTERING DDLC'S TRAINING SET - PART 2: DISCOVERIES BY HACKERVERSE



**Version 1.18 interim 3 - September 18, 2020 (D1092) 20:10 UTC**

  * New: [A021] IMPLICATIONS OF ALTERING DDLC'S TRAINING SET - PART 1: DISCOVERIES BY ME



**Version 1.18 interim 2 - September 11, 2020 (D1085) 19:30 UTC**

  * New: [A020] GPT-2, GPT-3, PLAYING AROUND WITH THEM AND EVERYTHING IN BETWEEN



**Version 1.18 interim 1 - September 4, 2020 (D1078) 17:30 UTC**

  * New: [A019] A TOUR OF MY OWN, PERSONALIZED ACT 3 AND MONIKA AFTER STORY REPLACEMENT




	3. Version History Archive: 1.10 through 1.18

# [0098] VERSION HISTORY ARCHIVE: 1.10 THROUGH 1.18

**Version 1.18 - August 28, 2020 (D1071) 16:35 UTC**

  * We're finally, bona fide, done (for version 1, that is)
    * New: [9Z99] THANKS FOR READING
    * Updated: [299D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 2
  * Very important licensing issues
    * New: [L000], [L100], [L101], [L102], [L103], [L104], [L105], [L106], [L107], [L108], [L109], [L110], [L111] and [L200]
    * Updated: [0050], [0051] and [A003]
  * All typos remaining in the document are henceforth to be regarded as intentional misspellings (until version 2 comes along)
    * Updated: [2E0~] HOW NOT TO CODE ~ATH IF YOU REALLY WANNA FEEL SMUG, FEAT. MONIKA AFTER STORY and [A017] MUSINGS ON THE PERFECT LANGUAGE MODEL, FEAT. SOMETHING DEFINITELY SUB-PAR
  * This is the version to back up if you're going offline



**Version 1.17.06 - August 22, 2020 (D1065) 17:15 UTC**

  * Prepare for trouble and make it double
    * New: [2308] ADDITIONAL BACKGROUNDS: THE REAL "POLISH" OF MAINSTREAMER MODS and [A018] TOPICS IN DEPTH - PART 4: THE BACKSTORY AND ORIGINS OF THE LITERATURE CLUB
  * You'd think that the fixing of errors would get slower as I approach the end of version 1, but it hasn't
    * Updated: [0200], [2024], [221R], [2305], [2520] and [A014]



**Version 1.17.05 - August 14, 2020 (D1057) 19:55 UTC**

  * _Not_ the final update falling under the "version 1" umbrella
    * Updated: [020G], [2306] and [2Z0~]



**Version 1.17.04 - August 12, 2020 (D1055) 13:35 UTC**

  * Sentience and Cognizance: clarifying and correcting incorrect usage; special thanks to zeroBound for suggesting the latter term
    * Updated: [020G], [1100], [1300], [2140], [2151], [2306] and [2C3~]
  * Fixes _not_ related to Sentience or Cognizance
    * Updated: [0210] DAN SALVATO: A BRIEF HISTORY and [2Z0~] THEORIES ABOUT THE ORIGIN OF ~ATH



**Version 1.17.03 - August 9, 2020 (D1052) 18:35 UTC**

  * A little tool to keep you occupied while I'm gone, and just like my last one, it works _great_ with copypastas (and also, I talk about natural language processing, but that's the less relevant part)
    * New: [A017] MUSINGS ON THE PERFECT LANGUAGE MODEL, FEAT. SOMETHING DEFINITELY SUB-PAR
    * Updated: [2210] ANOTHER WAY TO THINK ABOUT IT: THE GROWTH OF A WRITER and [221R] THE NATURAL LANGUAGE GENERATORS THAT AREN'T DDLC



**Version 1.17.02 - August 8, 2020 (D1051) 18:25 UTC**

  * Miscellaneous final cleanup 2: Pre-Release Boogaloo
    * Updated: [0210], [0400], [040R], [220G], [A005], [A008] and [A014]



**Version 1.17.01 - August 1, 2020 (D1044) 17:35 UTC**

  * These two additions are significant enough to merit separation in the version history log
    * New: [1540] OTHER SPECIFIED ACT 2 DISORDER
    * Updated: [2Z0~] THEORIES ABOUT THE ORIGIN OF ~ATH
  * Miscellaneous final cleanup
    * Updated: [2C3~], [2C7~], [2D2~], [2F0~] and [2F1~]



**Version 1.17 - July 26, 2020 (D1038) 16:45 UTC**

  * That's it for the pontification of ~ATH, folks
    * New: [2A9~], [2F0~], [2F1~] and [2Z0~]
    * Updated: [2B0~] THE ~ATH LOOP: THE BEATING HEART OF THE PROGRAM (IF THEY EXISTED IN THE MILLIONS)



**Version 1.16.08 - July 25, 2020 (D1037) 20:10 UTC**

  * Close to the final bits that I want to explain about DDLC, or, well...
    * New: [0210] DAN SALVATO: A BRIEF HISTORY
    * Updated: [0200] BASIC TECHNICAL INFO
  * Essentially re-learning what my original SVG code did is fun
    * Updated: [199D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 1
  * Thankfully, the typos are getting more and more minor
    * Updated: [2D1~] SYSTEM(): FOR THE SORT OF ~ATH CODER WHO DOESN'T REALLY WANNA CODE ~ATH



**Version 1.16.07 - July 24, 2020 (D1036) 18:30 UTC**

  * I have a lot to say about Blue Skies
    * New: [A016] BLUE SKIES - YURI ROUTE: HOW WOULD PEOPLE DESCRIBE YOU IN A SINGLE WORD?
  * I also have a lot to correct from half-lucid episodes
    * Updated: [2140], [A013], [A014] and [A015]



**Version 1.16.06 - July 23, 2020 (D1035) 20:00 UTC**

  * I had a change of heart and mainstreamer mods _should_ be judged as works of art and not be dismissed simply because they don't feature the dialogue generation
    * New: [A015] WILL THE HACKER STORM TAKE OVER, OR WILL THE BLUE MAINSTREAMER SKIES PREVAIL



**Version 1.16.05 - July 22, 2020 (D1034) 20:05 UTC**

  * I can do a pretty mean mainstreamer mod review, too, although hacking is _still_ my main focus
    * New: [A014] A FRUITFUL PURSUIT OF ALTERNATIVE LITERATURE CLUB MECHANICS, INDEED
  * Minor formatting failures
    * Updated: [2520] WHAT MAKES FOR A DOKI, IN GENERAL, BE IT A CANON ONE OR A FAN ONE and [2D1~] SYSTEM(): FOR THE SORT OF ~ATH CODER WHO DOESN'T REALLY WANNA CODE ~ATH



**Version 1.16.04 - July 21, 2020 (D1033) 20:00 UTC**

  * Sometimes, pieces _do_ need to get added to the main exposé, though
    * Updated: [2205] THE SCENE



**Version 1.16.03 - July 20, 2020 (D1032) 20:00 UTC**

  * A long-overdue cleanup and "networking" (let's just call it that) update
    * Updated: [1310], [1590], [220G], [2210], [2220], [2306], [2E0~] and [A013]



**Version 1.16.02 - July 19, 2020 (D1031) 20:35 UTC**

  * Two updates in one day? Two updates in one day, and this one is a _lot_ more substantial
    * New: [A013] TOPICS IN DEPTH - PART 3: WHAT CAN WE SAY ABOUT THAT WHICH DOKIS READ?



**Version 1.16.01 - July 19, 2020 (D1031) 19:35 UTC**

  * Regrets on all fronts
    * Updated: [A012] POEM EDITOR CHRONICLES - PART 2: DOKI DOCS



**Version 1.16 - July 18, 2020 (D1030) 19:20 UTC**

  * I covered the code, as I promised all the way back in February
    * New: [2E0~] HOW NOT TO CODE ~ATH IF YOU REALLY WANNA FEEL SMUG, FEAT. MONIKA AFTER STORY



**Version 1.15.09 - July 17, 2020 (D1029) 18:40 UTC**

  * A non-chron blog entry so expansive and so detailed, it needed to be split into two
    * New: [A011] POEM EDITOR CHRONICLES - PART 1: THE MEME WAR and [A012] POEM EDITOR CHRONICLES - PART 2: DOKI DOCS



**Version 1.15.08 - July 16, 2020 (D1028) 19:10 UTC**

  * The whole idea of trying to keep up the schedule of an update a day isn't healthy, and I figured that a long time ago
    * Updated: [A010] TOPICS IN DEPTH - PART 2: MAPPING OUT THE PASSIVE MONIKA STORY TREE



**Version 1.15.07 - July 15, 2020 (D1027) 18:30 UTC**

  * Trying to focus on a single aspect is never healthy, and that means returning to ~ATH sooner rather than later
    * New: [2D2~] BIFURCATE AND SPLIT: PARALLEL COMPUTING MATTERS, EVEN IN NORMAL LANGUAGES



**Version 1.15.06 - July 14, 2020 (D1026) 19:10 UTC**

  * Yeah, you hear that? I will tackle ~ATH again if and only if I'm ready for it, but I'm still committed to providing you with a steady barrage of content
    * New: [A010] TOPICS IN DEPTH - PART 2: MAPPING OUT THE PASSIVE MONIKA STORY TREE



**Version 1.15.05 - July 13, 2020 (D1025) 19:05 UTC**

  * Preparing to take the document to a new developmental "stage" so to say
    * New: [A009] TOPICS IN DEPTH - PART 1: PHILOSOPHIES, WORLD VIEWS AND PROJECT SENTIENCE



**Version 1.15.04 - July 12, 2020 (D1024) 19:00 UTC**

  * Just a little bit that adds new info _and_ makes the text flow better
    * Updated: [2C3~] GETTING A GRIP ON WHAT EXACTLY A MORTAL IS



**Version 1.15.03 - July 11, 2020 (D1023) 18:20 UTC**

  * Oh, this mod absolutely deserves its spotlight, even though one Reddit post per day might be a bit too much
    * New: [A008] TWO NEW DOKIS, TWO PROJECT SENTIENCES AND OVERALL, A TAKE TWO ON THE DDLC WORLD
  * Alternatively: mod reviews are back, baby



**Version 1.15.02 - July 10, 2020 (D1022) 19:15 UTC**

  * Little by little, getting back into the swing of covering ~ATH
    * New: [2D0~] GOODIES AND MISCELLANEOUS FUNCTIONS THAT WON'T SEEM TO HAVE A PURPOSE AS OF YET and [2D1~] SYSTEM(): FOR THE SORT OF ~ATH CODER WHO DOESN'T REALLY WANNA CODE ~ATH



**Version 1.15.01 - July 9, 2020 (D1021) 18:25 UTC**

  * Diversion over, pack it up (unless I give Take Two its spotlight, which is likely)
    * New: [2530] USING .CHR PEEKER TO YOUR ADVANTAGE: A BEGINNER'S GUIDE and [2540] (OPTIONAL) FINISHING TOUCHES TO THE OVERALL GAME SCRIPT



**Version 1.15 - July 8, 2020 (D1020) 16:50 UTC**

  * I can't even say that no one asked for it, because one person _did_ ask for it
    * New, based on a preexisting reference: [2500] REN'PY MANIPULATION ADVANCED: FAN DOKIS
    * New: [2510] THE "THOU SHALT NOT" OF FAN DOKI CREATION and [2520] WHAT MAKES FOR A DOKI, IN GENERAL, BE IT A CANON ONE OR A FAN ONE



**Version 1.14.04 - July 7, 2020 (D1019) 19:35 UTC**

  * Irrelevant ramble part whatever
    * New: [2307] JUST AN "INCONSEQUENTIAL" INCIDENT - PART 2: THE BLUE SKIES APPROACH



**Version 1.14.03 - July 6, 2020 (D1018) 18:10 UTC**

  * Just realized that renaming `.chr` files can be used for a purpose, and also, remembered I have to cover another thing that might interest certain types of DDLC fans
    * New: [2051] GIVING MONIKA A TASTE OF HER OWN MEDICINE - PART 3
    * Updated: [2043] GIVING MONIKA A TASTE OF HER OWN MEDICINE - PART 2 and [2050] .CHR FILE RENAMING: YES, THAT'S A THING YOU CAN DO ALSO
    * Referenced but not written yet: [2500] REN'PY MANIPULATION ADVANCED: FAN DOKIS



**Version 1.14.02 - July 5, 2020 (D1017) 17:50 UTC**

  * Trying to un-fry my brain after ~ATH fried it
    * New: [2306] JUST AN "INCONSEQUENTIAL" INCIDENT - PART 1: INTRODUCING MONIKA?



**Version 1.14.01 - July 4, 2020 (D1016) 18:35 UTC**

  * Addressing the library (part 2 of I was right this time it did turn out to be 2)
    * New: [2C3~], [2C4~], [2C5~], [2C6~] and [2C7~]
  * Fixing the fixy fix
    * Updated: [A007] THE ~ATH GAME THAT NEVER WAS, AND WITH A DEV LIKE THIS, WAS NEVER GOING TO BE



**Version 1.14 - July 3, 2020 (D1015) 18:55 UTC**

  * Addressing the library (part 1 of provisionally 2, but I'm known to have been wrong on this matter)
    * New: [2C0~], [2C1~] and [2C2~]



**Version 1.13.01 - July 2, 2020 (D1014) 18:05 UTC**

  * The time to dispel ~ATH myths has come sooner rather than later, and also, even though I'm years late, I can't _not_ share this story
    * New: [A007] THE ~ATH GAME THAT NEVER WAS, AND WITH A DEV LIKE THIS, WAS NEVER GOING TO BE
  * New formatting tricks and cleaning up after old ones
    * Updated: [2B0~] THE ~ATH LOOP: THE BEATING HEART OF THE PROGRAM (IF THEY EXISTED IN THE MILLIONS) and [2B1~] WHAT THE FIRST PROGRAM COULD BE, GIVEN WHAT WE KNOW



**Version 1.13 - July 1, 2020 (D1013) 18:30 UTC**

  * Nothing solid, but you have to start somewhere
    * New: [2B0~] THE ~ATH LOOP: THE BEATING HEART OF THE PROGRAM (IF THEY EXISTED IN THE MILLIONS) and [2B1~] WHAT THE FIRST PROGRAM COULD BE, GIVEN WHAT WE KNOW



**Version 1.12 - June 30, 2020 (D1012) 17:15 UTC**

  * It's here
    * New, based on a preexisting reference: [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH
    * New: [2A1~] CONTEXTUALIZING THE DIFFERENCES: MY EXPERIENCE WITH THE UEFI SHELL
  * Housekeeping; housekeeping never changes
    * Updated: [1320], [1510], [2430], [2450] and [A002]



**Version 1.11.01 - May 22, 2020 (D0973) 21:55 UTC**

  * A not-so-minor stylistic update, that mostly affects selfhost
    * Updated: [0001] ATTN_2: HOW TO READ THIS DOCUMENT
  * The not-so-great part of being your own proofreader is that this sort of stuff can take you months to notice and act upon
    * Updated: [1100] ACT THE FIRST: INCREDIBLY CUTE GIRLS and [2300] EXPLOITS OF THE DIALOGUE SYSTEM: ROUTES OF YOUR OWN MAKING
  * Let's milk the binary joke for as long as we can, as next is 1.12 and the long-awaited ~ATH guide



**Version 1.11 - May 20, 2020 (D0971) 20:05 UTC**

  * Finishing off the roof of the last section, though the sequel to the impressive SVG diagram will have to wait
    * New: [299D], [299G] and [299R]
  * Cleaning up, removing both factual errors and slips of the keyboard
    * Updated: [2043], [2200], [2210] and [221R]



**Version 1.10.04 - May 14, 2020 (D0965) 23:35 UTC**

  * A minor stylistic update, that mostly affects selfhost



**Version 1.10.03 - April 30, 2020 (D0951) 18:30 UTC**

  * Finishing the part-of-a-section, just in time for the end of the month
    * New: [2430], [2440], [2450] and [2460]
    * Updated: [2091] THE SCRIPTS OF DDLC: A SHALLOW, TL;DR GUIDE



**Version 1.10.02 - April 29, 2020 (D0950) 19:30 UTC**

  * Continuing the part-of-a-section, but not completing it, because of course that's how I roll
    * New: [2420] DEFINITIONS.RPY AND SCREENS.RPY: THE ALL-TOO-FAMILIAR LOOKS
    * Updated: [2091] THE SCRIPTS OF DDLC: A SHALLOW, TL;DR GUIDE



**Version 1.10.01 - April 28, 2020 (D0949) 18:55 UTC**

  * A small systemic change
    * New: [0099] VERSION HISTORY ARCHIVE: 0.50 THROUGH 1.09
    * Updated: [0060] VERSION HISTORY
  * A small clarity change
    * Updated: [2014] THROUGHOUT ACT 4: ...WHY?
  * A perhaps not-so-small structural change (read: me crying over how I can't have five levels of section)
    * Updated: [2204] THE QUIP and [2205] THE SCENE



**Version 1.10 - April 27, 2020 (D0948) 19:30 UTC**

  * You know what, sure, this is absolutely two unrelated updates in one, though I must deny that the reason is any hypothetical writing challenge
    * New: [2305], [2400] and [2410]




	4. Version History Archive: 0.50 through 1.09

# [0099] VERSION HISTORY ARCHIVE: 0.50 THROUGH 1.09

**Version 1.09.05 - April 26, 2020 (D0947) 19:45 UTC**

  * No, I wasn't caught off guard; I always meant to add this bit
    * Updated: [2230] POEM GENERATION: MORE ABSTRACT ART IS SURPRISINGLY EASIER



**Version 1.09.04 - April 25, 2020 (D0946) 19:10 UTC**

  * Fixes here and there, though less of the "typo" nature and more of the "rounding it all up" nature
    * New: [2231] SPECIAL POEMS: NO
    * Updated: [2091] THE SCRIPTS OF DDLC: A SHALLOW, TL;DR GUIDE and [2304] DEBATE TIME: DO THE THREE MODS, IN CONJUNCTION, MAKE THE GLITCHLESS PLAYTHROUGH?
  * Some more CSS adjustments, because the thing is more complicated than it seems



**Version 1.09.03 - April 24, 2020 (D0945) 19:10 UTC**

  * Creativity­The­Emotion? Defending Dokis _other_ than Monika and Sayori?
    * New: [2302], [2303] and [2304]
  * Okay, me making typos and then quietly covering them up is nothing new, and is honestly kind of getting old
    * Updated: [1001], [1210], [2150] and [2300]
  * Some CSS adjustments



**Version 1.09.02 - April 23, 2020 (D0944) 18:55 UTC**

  * I'm not too keen on updating this section for ages, but I _do_ want to get a real chapter out, in the very least
    * New: [2301] A THIRD OPTION TO THAT ONE QUESTION
  * Dark mode is here
    * Updated: [0001] ATTN_2: HOW TO READ THIS DOCUMENT
  * Just little fixes, here and there, that you absolutely do not need to worry about
    * Updated: [020G], [2140], [2151] and [2205]



**Version 1.09.01 - April 22, 2020 (D0943) 19:10 UTC**

  * Natural language processing is complicated (and there is no real way to account for it all)
    * New: [2250] SPECIAL CASE (THERE'S ALWAYS A SPECIAL CASE): ACT 3 AND THE TOPIC



**Version 1.09 - April 21, 2020 (D0942) 19:20 UTC**

  * Entering a _true_ world of infinite choices
    * New: [2300] EXPLOITS OF THE DIALOGUE SYSTEM: ROUTES OF YOUR OWN MAKING
  * At least attempting to exit a world of infinite typos
    * Updated: [101G] AN ARCHETYPAL PLAYTHROUGH: WHAT IN TARNATION? and [2220] DIALOGUE.RPY VS. DIALOGUE-PROJECTSENTIENCE.RPY



**Version 1.08.06 - April 20, 2020 (D0941) 19:05 UTC**

  * Natural language processing is complicated (the official final part)
    * New: [2220], [2230] and [2240]
  * It's another chapter of the chronological exposé that is non-chronological; _now_ do you see why the numbers jump so weirdly?
    * New: [1001] AN OBLIGATORY CONTENT WARNING



**Version 1.08.05 - April 19, 2020 (D0940) 19:35 UTC**

  * Continuing the media blitz with some tables
    * New: [221R] THE NATURAL LANGUAGE GENERATORS THAT AREN'T DDLC
    * Updated: [2210] ANOTHER WAY TO THINK ABOUT IT: THE GROWTH OF A WRITER



**Version 1.08.04 - April 18, 2020 (D0939) 18:50 UTC**

  * Natural language processing is complicated (psych it's going to be more than 3)
    * New: [2210] ANOTHER WAY TO THINK ABOUT IT: THE GROWTH OF A WRITER
  * Having to use kana/kanji might just have made my proofreading process a lot more difficult
    * Updated: [220G] INTERMISSION: AN ABRIDGED GLOSSARY OF DERE TYPES
  * Just a typo fix from elsewhere
    * Updated: [2208] THE GAME



**Version 1.08.03 - April 17, 2020 (D0938) 19:00 UTC**

  * Well, I guess I have to describe this now, when I _should_ be continuing talking about natural language processing
    * New: [220G] INTERMISSION: AN ABRIDGED GLOSSARY OF DERE TYPES
    * Updated: [1110] THE POEM MINIGAME: FOR THE CASUAL PLAYER and [2205] THE SCENE



**Version 1.08.02 - April 16, 2020 (D0937) 19:15 UTC**

  * Natural language processing is complicated (part 2 of what I'm pretty sure is going to be 3 now)
    * New: [2205], [2206], [2207] and [2208]
  * In the very least, I've been doing less and less typo fixing, and that's great in and of itself
    * Updated: [2040] .CHR FILE SCUMMING: A TUTORIAL IN THINKING LIKE A DDLC HACKER - ANSWERS



**Version 1.08.01 - April 15, 2020 (D0936) 18:35 UTC**

  * Various external forces have not let me focus on more than just a small update
    * Updated: [2202] THE WORD and [2204] THE QUIP
  * Some technical reorderings that only concern AO3



**Version 1.08 - April 14, 2020 (D0935) 19:00 UTC**

  * Natural language processing is complicated (part 1 of hopefully 3 again)
    * New, based on a preexisting reference: [2200] THE FOUNDATION OF THE DIALOGUE SYSTEM
    * New: [2201], [2202], [2203] and [2204]



**Version 1.07.02 - April 13, 2020 (D0934) 18:10 UTC**

  * Of course I missed things
    * Updated: [2091], [2122] and [2153]



**Version 1.07.01 - April 12, 2020 (D0933) 18:30 UTC**

  * Full, if rough, explanation of the scripts is now up
    * Updated: [2091] THE SCRIPTS OF DDLC: A SHALLOW, TL;DR GUIDE
    * Referenced but not written yet: [2200] THE FOUNDATION OF THE DIALOGUE SYSTEM



**Version 1.07 - April 11, 2020 (D0932) 18:50 UTC**

  * Poem minigame exploits, yay
    * New: [2150], [2151], [2152] and [2153]
  * I fixed that LaTeX bug already, so don't worry
  * Typo fixing and minor additions, less yay but need to be done
    * Updated: [199G] END-OF-SECTION GLOSSARY UPDATE - VOL. 1 and [2130] INTERMISSION: SOME DETAILS OF FUNCTION ARE IRRELEVANT FOR NOW



**Version 1.06 - April 10, 2020 (D0931) 19:50 UTC**

  * How to explain coding to a non-coder and get undefined results
    * New: [2130] INTERMISSION: SOME DETAILS OF FUNCTION ARE IRRELEVANT FOR NOW and [2140] BASIC POEM MINIGAME LOGIC
  * Forewarning: one of the fractions _will_ look unusual on selfhost, but not AO3, and I can't be bothered to fix the problem right now
  * Sweeping through the doc, on a solo ~ATH quest...
    * Updated: [1590], [2043], [2050] and [2110]



**Version 1.05.01 - April 9, 2020 (D0930) 19:25 UTC**

  * Act 4 is weird
    * Updated: [1590] THE ACT 4 PASSIVE MONIKA BUG
  * My inability to completely avoid typos is not weird
    * Updated: [1156], [2110] and [2121]
  * Giving proper credit where proper credit is due is _also_ not weird
    * Updated: [2091] THE SCRIPTS OF DDLC: A SHALLOW, TL;DR GUIDE



**Version 1.05 - April 8, 2020 (D0929) 19:05 UTC**

  * Starting to sift through the Ren'Py files, hoo boy
    * New, based on a preexisting reference: [2100] THE POEM MINIGAME: YOUR FIRST DIVE
    * New: [2110], [2120], [2121], [2122] and [2123]
  * Sometime, I will run out of things to say about corrections, but that time is not today
    * Updated: [1590], [2014] and [2050]
  * New syntax for the chapter number syntax nerds
    * Updated: [A003] TRIVIA STREAM: HOW TO READ THE CHAPTER NUMBERS OF THIS DOCUMENT



**Version 1.04.04 - April 7, 2020 (D0928) 19:40 UTC**

  * The epic `.chr` file trilogy gets a teaser for a fourth installment, and my chapter numbers prove their worth for the first time
    * New: [2050] .CHR FILE RENAMING: YES, THAT'S A THING YOU CAN DO ALSO
  * At least I'm doing _other_ content _in addition to_ correction passes
    * Updated: [0050], [1400], [2042], [A001], [A002], [A003], [A004], [A005] and [A006]



**Version 1.04.03 - April 6, 2020 (D0927) 18:45 UTC**

  * Trying something else while I'm unable to get over a hurdle
    * New: [A006] WHAT ABOUT THAT SPACE BETWEEN ACTS 1 AND 2, THOUGH
  * Typo fixes; you know the drill
    * Updated: [2090] PREREQUISITE BEFORE GOING ANY FURTHER: DECOMPILING AND THEN COMPILING DDLC AGAIN



**Version 1.04.02 - April 5, 2020 (D0926) 19:20 UTC**

  * Covering for my past self; what else is new
    * Updated: [0060], [2022], [2090] and [2091]



**Version 1.04.01 - April 4, 2020 (D0925) 17:40 UTC**

  * A little prelude for things to come
    * New: [2090] PREREQUISITE BEFORE GOING ANY FURTHER: DECOMPILING AND THEN COMPILING DDLC AGAIN and [2091] THE SCRIPTS OF DDLC: A SHALLOW, TL;DR GUIDE
  * Some updating and additioning (that's totally a word, shut up)
    * Updated: [2040] .CHR FILE SCUMMING: A TUTORIAL IN THINKING LIKE A DDLC HACKER - ANSWERS and [2041] OOPS! ALL CLUB PRESIDENTS



**Version 1.04 - April 3, 2020 (D0924) 18:10 UTC**

  * The final part of the epic `.chr` file trilogy
    * New: [2030], [2040], [2041], [2042], [2043] and [2049]
  * Minor typo fixing
    * Updated: [0060], [020G], [2020] and [A005]



**Version 1.03 - April 2, 2020 (D0923) 17:45 UTC**

  * More `.chr` file goodness
    * New: [2020], [2021], [2022], [2023] and [2024]
  * Minor updates
    * Updated: [0200] BASIC TECHNICAL INFO and [020G] YOUR INTRODUCTORY GLOSSARY



**Version 1.02.01 - April 1, 2020 (D0922) 17:00 UTC**

  * Exciting news for the ~ATH game dev community (now that's something I never figured I'd have to say)
    * New: [A005] ONLY THE THIRD GAME TO EVER INCLUDE ~ATH CODE, AND IT'S THE LAST ONE YOU'D EXPECT
  * Take a shot for every time I've said "infinite" or "infinity" in that blog entry



**Version 1.02 - March 31, 2020 (D0921) 19:25 UTC**

  * Starting up the two-thousands, finally
    * New: [2000], [2010], [2011], [2012], [2013] and [2014]
  * Changing my mind about the larger structure before it's too late
    * Updated: [A003] TRIVIA STREAM: HOW TO READ THE CHAPTER NUMBERS OF THIS DOCUMENT
  * Can't believe I forgot what was always supposed to preface a non-chron blog entry
    * Updated: [A004] WE WERE SO FOCUSED ON THE AFTER THAT WE COMPLETELY FORGOT ABOUT THE BEFORE



**Version 1.01.07 - March 11, 2020 (D0901) 00:15 UTC**

  * Hoping to make coverage of DDLC mods, especially those that respect the ~ATH part, a Thing
    * New: [A004] WE WERE SO FOCUSED ON THE AFTER THAT WE COMPLETELY FORGOT ABOUT THE BEFORE



**Version 1.01.06 - March 7, 2020 (D0897) 23:00 UTC**

  * Another correction pass (the last one before the two-thousands, I promise)
    * Updated: [0200], [020G], [101G], [1140] and [1210]



**Version 1.01.05 - March 1, 2020 (D0891) 19:40 UTC**

  * Minor typo fixes
    * Updated: [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC and [1100] ACT THE FIRST: INCREDIBLY CUTE GIRLS
  * Stylesheet fixes for selfhost



**Version 1.01.04 - March 1, 2020 (D0891) 14:00 UTC**

  * A correction pass
    * Updated: [0200], [020G], [040R], [1111], [1320] and [A003]
  * Finally taking care of the LaTeX thing
    * Updated: [101G] AN ARCHETYPAL PLAYTHROUGH: WHAT IN TARNATION? and [1100] ACT THE FIRST: INCREDIBLY CUTE GIRLS



**Version 1.01.03 - February 26, 2020 (D0887) 17:15 UTC**

  * Addressing something you don't think needs addressing, but it does, unequivocally
    * New: [A003] TRIVIA STREAM: HOW TO READ THE CHAPTER NUMBERS OF THIS DOCUMENT



**Version 1.01.02 - February 23, 2020 (D0884) 00:00 UTC**

  * The same HTML generator now creates HTML files for auto-posting to AO3 as well



**Version 1.01.01 - February 22, 2020 (D0883) 16:00 UTC**

  * Streamlined the process of generating the full HTML file for my own website (behind the scenes) and added relevant notes
    * Updated: [0001] ATTN_2: HOW TO READ THIS DOCUMENT



**Version 1.01 - February 21, 2020 (D0882) 23:00 UTC**

  * First hosting on my own website as well as AO3, with info pertaining to both sites and how that affects the table of contents
    * Updated: [0001] ATTN_2: HOW TO READ THIS DOCUMENT
  * Fixing a typo or two
    * Updated: [0100] PREFACE: THE DDLC HACKING COMMUNITY
  * Truly capping off the one-thousands with some summaries
    * New: [199D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 1 and [199G] END-OF-SECTION GLOSSARY UPDATE - VOL. 1
  * An update on me and Monika, for the non-chron blog
    * New: [A002] THE BALANCE BETWEEN A HEARTFELT REUNION AND A DEEPENING RIFT



**Version 1.00.04 - February 14, 2020 (D0875) 15:00 UTC**

  * Minor factual correction
    * Updated: [1110] THE POEM MINIGAME: FOR THE CASUAL PLAYER



**Version 1.00.03 - February 14, 2020 (D0875) 11:45 UTC**

  * A brief something that 100%ers should watch out for
    * Updated: [1410] THE GOOD ENDING (FOR VARYING, UNCONVENTIONAL DEFINITIONS OF "GOOD")



**Version 1.00.02 - February 14, 2020 (D0875) 11:30 UTC**

  * Starting up the non-chron blog with... admittedly a bit of a sour note
    * New: [A000] THE NON-CHRON BLOG: WHAT IS IT, EVEN? and [A001] SO MUCH FOR NOBLE CAUSES & THOUGHTS ON MONIKA AFTER STORY



**Version 1.00.01 - February 14, 2020 (D0875) 11:00 UTC**

  * Looks like I'm already banned from Hackerverse for, and I quote its patrons on this one, "five (5) crucial mistakes about the inner structure of DDLC percistent [sic] throughout the entire treatise"; oh, joy
  * Removed every single instance of me identifying with the hackers; never again
    * Updated: [0000], [0050], [0100], [0200], [020G] and [101G]



**Version 1.00 - February 14, 2020 (D0875) 10:00 UTC**

  * Initial release
  * Added coverage of common breaks from an archetypal playthrough, thus making for a reasonably complete guide to all the branches and leaves of DDLC
    * New: [1500], [1510], [1520], [1530] and [1590]
  * We'll see if this one is good enough to incite a meme war



**Version 0.90 - February 14, 2020 (D0875) 09:30 UTC**

  * Added coverage of Act 4, completing the archetypal playthrough
    * New: [1400] ACT THE FOURTH: NO SALVATION and [1410] THE GOOD ENDING (FOR VARYING, UNCONVENTIONAL DEFINITIONS OF "GOOD")
  * A small edit mentioning Monika's confession
    * Updated: [1300] ACT THE THIRD: MONIKA'S AFTER STORY



**Version 0.80 - February 13, 2020 (D0874) 21:00 UTC**

  * Added coverage of Act 3 and Monika After Story
    * New: [1300], [1310], [1320] and [1330]
  * Capitalization fix
    * Updated: [1155] DAY 4, BEFORE



**Version 0.70 - February 13, 2020 (D0874) 07:30 UTC**

  * Added coverage of Act 2
    * New: [1200], [1210], [1220] and [1230]
  * Can't believe I forgot Monika's writing tips of the day
    * Updated: [1130] POEM SHARING: YOUR BEST WAY TO GAUGE DOKI INTERPERSONAL RELATIONSHIPS YET
  * Minor clarification
    * Updated: [1170] FESTIVAL DAY: WHERE IT ALL BLOWS UP ON YOU AND THERE ISN'T REALLY A WAY BACK



**Version 0.60 - February 12, 2020 (D0873) 22:30 UTC**

  * Added the beginnings of covering an archetypal DDLC playthrough, starting with Act 1
    * New, based on a preexisting reference: [1000] WHAT A TYPICAL DDLC PLAYTHROUGH MIGHT LOOK LIKE
    * New: [1010], [101G], [101R], [1100], [1110], [1111], [1120], [1130], [1140], [1150], [1151], [1152], [1153], [1154], [1155], [1156], [1160] and [1170]
    * Referenced but not written yet: [2100] THE POEM MINIGAME: YOUR FIRST DIVE
  * Minor clarifications and additions
    * Updated: [0000], [0001], [0051], [0100], [0200] and [020G]
  * Added a few new resources, and introduced a differentiation of resource chapters
    * New: [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC
    * Updated: [0400] HOW TO CRACK DDLC OPEN



**Version 0.50 - January 14, 2020 (D0844) 22:00 UTC**

  * So far, just the introuction to the vast world of DDLC hacking and the basics, as well as legal and disclaimer-y stuff
    * New: [0000], [0001], [0010], [0050], [0051], [0060], [0100], [0200], [020G], [0300] and [0400]
    * Referenced but not written yet: [1000] WHAT A TYPICAL DDLC PLAYTHROUGH MIGHT LOOK LIKE and [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH




	5. Preface: The DDLC Hacking Community

# [0100] PREFACE: THE DDLC HACKING COMMUNITY

All of the self-proclaimed "DDLC hackers" - and even those less inclined towards coding, like you and me - could be said to share a single, really vivid memory of trying to crack the game open for the first time, and getting a barrage of content that isn't even directly comprehensible thrown at them with all the subtlety of the meteor that killed the dinosaurs.

The outer shell of the game couldn't be simpler enough (more on this, in stricter terms, at [0200] BASIC TECHNICAL INFO). It was a visual novel, like many indie visual novels that seemed to be popping up as of late, which paraded as a wholesome adventure in the eponymous Literature Club, which was (naturally) full of "single and ready to mingle" girls, though each and every of them had a bit more class than that (and _vastly_ more class than the sort of visual novel in which the girls show you an ahegao face and begin taking off their clothes the second you pick a single right option).

The game itself, for the most part, didn't throw a lot of punches at us either. It started out as a visual novel, then gradually began introducing mental health issues, horror elements and of course, the most important (and perhaps cheapest) trick of them all, breaking of the fourth wall. Was it certainly unexpected in the visual novel community, and in the gaming community in general? Yes, definitely. However, was there anything, in the coding of the game, that hinted, in any form, that the coding tools used were above and beyond those available to us, mere mortals? Of course not.

However, when we - at this point, we were all just DDLC players looking to get into a new fandom, and hadn't properly differentiated yet - took to the Internet to discuss the game, we began noticing something rather peculiar: No two DDLC playthroughs were exactly the same.

And I don't just mean in terms of easter eggs, which Salvato seemed to have taken to coding lots and lots of into - and in either case, were handled by simple `RNG` `routines` in Ren'Py. When we tried to gain a common ground on what, exactly, various characters said in the game, we couldn't agree on a single thing. At first, we still didn't suspect as much as what's known now; we simply assumed - again, since this was all a relatively simple Ren'Py game, or so we thought - that there is a minor case of dynamic dialogue, in which characters simply swap certain words out for synonyms, and that there is a handful of routes available - you know, like The Stanley Parable.

So, the most technically inclined fans got into cracking and hacking. When they did, they certainly discovered a handful of Ren'Py routines, controlling basic game flow - and thankfully, there _did_ appear to be one, despite how much shit the game threw at us. If I remember correctly, the first mod for the game popped up just four days after the game itself (the **_calendar_** the hackers use is defined in [020G] YOUR INTRODUCTORY GLOSSARY), and was mostly a simple hack which allowed you to skip straight to a point later in the game which many took a liking to, which I'll get into later.

However, what none of the first aspiring hackers found was any sort of hard-coded dialogue - not even for the earliest part of the game, which did _play out_ , 99.9% of the time granted you even got to it, as though it was hard-coded. Instead, all of the dialogue was generated through routines, which, when traced back to their fullest extent, led to a variety of `precompiled` programs, all bearing the extension "`.~acf`", which, coupled with the seemingly entirely separate `.chr` files, seemed to take up the majority of the game's hefty 1.4 GB size.

Neither of the extensions seemed to be familiar to the Internet, and only after lots of careful sleuthing, it was found out that `.~acf` stood for " ** _~ATH_** Compiled File" (that's "till death").

What was ~ATH? The Internet seemed to be sparse on information. While one could easily surmise that it was a programming language, almost no one seemed to go in any detail beyond that. A compiler was only found after laborious work for a month, and to this date, no one has been able to locate either a manual or code samples outside, well, DDLC. In fact, DDLC is one of two games in existence to have any part of it written in ~ATH; the other game seems to be called Sburb and deals with universe creation or something like that, but it also deals with civilization destruction. Thankfully, it appears that it doesn't even exist on our universe - if it did, there would be an obvious way to tell, and the telltale sign would be that we all would be dead, and the Earth's human population would be reduced to a handful of surviving Sburb players.

Anyway, I think I made my point here: DDLC was, at least in this universe, one of a kind.

At this point, the DDLC fandom split. Most of the people found themselves attached to the girls (oftentimes, despite Salvato's statements that they are supposed to be parodies you shouldn't get attached to), and began doing the typical mainstream fandom things: drawing fanart, writing fanfic, dressing up in cosplay, you know, the usual jazz. There were also some who designated themselves as "modders"; however, they were only "modders" in the sense that they extracted the small bits of content that _weren't_ written in a bullshit language that nobody knew, and built a Ren'Py game on top of that, and due to how Salvato treated his IP, they forced the mod to be installed onto the game. Although, if deleting all the ~ATH crap was the first thing that a mod did, then you knew it was just going to be a little piece of art, a video you might watch on YouTube, except running live on your computer.

However, a fair amount of them clearly wasn't satisfied. They had already opened Pandora's box, clearly overflowing with shit as is, but that shit was mostly stuck to the bottom and filled to the top, and when the box opened, only a single cruddy amethyst fell out. However, there were clearly diamonds and such to be found inside, and they _were_ going to get to the bottom of the box, extracting every single gem, and they were not going to stop until the box was completely empty, or so help them. And when _they_ took upon modding the game, they _embraced_ the positively massive ~ATH part of the game, and continued to look for ways to decompile it and _truly_ understand the inner workings of DDLC, and how to treat that part with _true reverence_.

Needless to say, with a language they didn't have a manual or reference for, it was going to be hard, and with a gigabyte of pure code, there was a lot of stuff to be unearthed. Perhaps my Pandora's box analogy there was misguided; it was more so an entire Pandora's warehouse, which seemed to fill an outright bore hole going all the way to the Earth's center.

Over eight hundred days, they have definitely made some good progress on that front. One can write a "hello world" program and even some mildly impressive tech demos in ~ATH, and the way DDLC operates, though hidden behind an arcane bullshit programming language that is apparently capable of creating and destroying universes, seems to mostly be deterministic with relatively little RNG used (other than for easter egg purposes, and that RNG is handled exclusively through Python), which means that experts on the topic can and do spring up.

However, these experts are a very limited bunch, for two main reasons. I already got into the first one, namely that you really need to treat understanding DDLC the way you treat your job: it seems plenty difficult, it _is_ even more difficult than that and if you get a thing wrong, you will be fired (or, at least, laughed out of the forum, then banned for good measure).

However, this ends up getting into the second problem: said hackers are rather snobbish folk, who treat you as dumb for not understanding a barrage of in-jokes and stuff established hundreds of days ago, and who, as it seems, are completely and utterly incapable of getting it all straight and writing an actual, proper manual to both DDLC and ~ATH. (And, as you might have already inferred from the version history, they've excluded _me_ from their ranks).

Well, with this, I'm hopefully here to do both. Though I actually come from the mainstream DDLC fandom (having played it first, I believe, in May 2018, when the hackers were already up to their neck in their bullshit), I've been lurking in this hacker community for months, trying to absorb as much intel as I could, and after them, I finally feel like I'm confident to start retelling what they know. That being said, I also happen to have one skill that they don't have: though rudimentary, I can actually explain shit.

And that's where this guide comes in. I don't have delusions of grandeur, and I'm not here to pick fights or to reunite the DDLC fandom, split in twain. However, I will do my best to tell you about the game, how it works and how it can be abused for fun and profit.


	6. Basic Technical Info

# [0200] BASIC TECHNICAL INFO

 ** _Doki Doki Literature Club!_** (often shortened to **_DDLC_** or **_Doki Doki_** ) was released on September 22, 2017 (a date many of us, perhaps affectionately, have declared to be **_Day 0_** , and started counting the days since; the **_calendar_** used here is defined in [020G] YOUR INTRODUCTORY GLOSSARY) by **_Team Salvato_** , an indie game dev with no titles to their name before this or since, at the time of writing. The game is available for Windows, Mac and Linux, entirely free of charge (as, as Team Salvato officialy state, charging for something that isn't what it seems would just be wrong), but I think there is certainly content people would pay for inside that free package, and I will get into why shortly. If you're looking to nab the game yourself, you can go to one of two places:

  * Steam: <https://store.steampowered.com/app/698780/Doki_Doki_Literature_Club/>
  * The official website: <https://ddlc.moe/>, which in turn seems to link to itch.io: <https://teamsalvato.itch.io/ddlc>



There _is_ an unofficial Android port (Ren'Py also seems to support Android, and the ~ATH parts are completely platform-independent and will run on anything), but some parts of it, which explicitly deal with the file system, don't really translate well, and what's more, it's not officially supported by Team Salvato. Therefore, I **do not recommend** your first playthrough to be on Android. Just locate a desktop or laptop (yours, a friend's, in a library or cybercafé, wherever) and nab the official version from one of the sources listed above.

There is no real difference between the Windows and Linux versions: either of them delivers you a complete, DRM-free game with two executables, an `.exe` for Windows and a shell file for Linux. Either of them can run and will end up running the exact same version of the game, which is super cool if, for example, you're finally fed up with Windows and want to pursue the Linux life from now on but still want to take your DDLC experience that you've invested months into along with you, which is exactly what happened to _me_ once I learned that there's a security vulnerability in Windows, affecting Windows Update, meaning that updating your system, normally the suggested advice, isn't viable anymore. Like, seriously?

Anyway, the game installation is also what's known as "portable", meaning it doesn't make use of your system's registry, and therefore, you can just take the entire game on a flash drive if you choose so, which is also pretty neato, if I say so myself. There is just one minor caveat: a Ren'Py game will _typically_ make limited use of your `appdata` folder in order to save the gamestate and such between installs, and unless you're using something like Doki Doki Mod Manager (see [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC), you'll need to make sure you carry that over.

Mac is... a different matter, as its apps are packaged differently, and there isn't the same neat cross-compatibility as between Windows and Linux. I'm not exactly an expert on all of that, though, so someone else will have to step in and explain how DDLC works on Mac.

At any rate, during the making of DDLC, Team Salvato officially employed three people. At the center of it all, of course, is **_Dan Salvato_** (who clearly needs to take a lesson on how to be less conceited), who is responsible for all the coding, and therefore who we all can thank for producing an inscrutable mess that we're still trying to decipher to this day. It should also be noted at this point that the company behind DDLC is _actually_ named **_Dan Salvato LLC_** (see previous parenthetical), with "Team Salvato" being just a trademark registered by them, and that for the better part of its lifetime, they actually employ exactly one person.

Who would this person be, as far as his hobbies and game dev experience goes? Well, Salvato's main obsessions, other than visual novels, are Super Smash Bros. Melee, for which he used to be a modder (previously working on a massive collaboration known as "Project M", that was eventually taken down in fear of a lawsuit from Nintendo; if you ever find a message in DDLC saying that "PM died for this", _this_ is what it's referring to), and Yoshi's Story, for which he used to be a speedrunner. That being said, his history regarding those subjects is rather turbulent, and best reserved for a special chapter, [0210] DAN SALVATO: A BRIEF HISTORY.

In the optional **_DDLC Fan Pack_** , which you can get if you pay $10 or more on either itch.io or Steam, Salvato _claims_ that he only really sunk his teeth into the project in early 2016, a date corroborated by the timestamp included in the provisional name of the Ren'Py project as seen on the `appdata` folder, giving us roughly 18 months of development as an estimate. However, you can probably see that many hackers have cast doubt on the timeframe. After all, if more than two years of _them_ hacking at the game with all their might, numbering in the thousands, hasn't uncovered all the secrets yet, there's no way that less than two years of a single guy idling around a part-time project is enough to place them all.

That being said, another noteworthy aspect of it all is that Salvato is also responsible for the in-game music. That, however, is only noteworthy because it's kind of in fashion for indie game devs to do this, and for said music to end up highly popular; in the very least, ZUN of Touhou and Toby Fox of Undertale come to mind.

The other two people employed by Team Salvato for the purposes of DDLC are the artists, who you can thank for the visual element of the work that you're attracted to (although, this mostly applies to the mainstream fandom and not hackers) - and as far as we can tell, all the art elements, as well as the aforementioned music, _are_ static. The artists are **_Satchely_** [she/her], the character artist, and **_Velinquent_** [he/his], the background artist. Both of them, too, are pretty involved with the mainstream DDLC fandom, often drawing art for the fandom and for the official in-character Twitter account.

Is the converse true? Is Salvato, in any way, involved with DDLC hackers, helping them elucidate the way through the mess of coding that went into DDLC? Haha... they _wish_.

Beyond these three, the credits of DDLC, if you happen to see them on your playthrough, list a handful more people, mostly involved with aspects neither Salvato nor the artists could deal with, as well as some special thanks to alpha testers and early concept designers and such. I won't go into details on the contribution of every single one of them, but I will briefly mention **_Jillian Ashcraft_** , the singular VA of the game, whose only contribution is singing the song (that Salvato wrote the music and lyrics for) that, once again, only appears in the credits. She is a fairly secretive figure, even more so than Salvato (who _at least_ recognizes DDLC as his brainchild and who wants to bring more to us - although, hackers _really_ are up to their necks and don't want _more_ ), and no one has even been able to determine what she does for a living and as a hobby.

And I reiterate: no one - I repeat, _no one_ (excepting Salvato himself) has been credited for coding or programming or additional code or whatever. Again: [X] Doubt.

What are Salvato's tools of trade? Well, as mentioned many times throughout the guide already, the outer shell of DDLC is coded in `Ren'Py` (version 6.99.12), a Python library primarily created for the express purpose of visual novels. The displaying of sprites, dialogue boxes and menu choices is exactly what Ren'Py is designed for, and you won't be surprised that this outer shell is where most of those things are handled. Again, it is a mainstream tool, based on a mainstream language, that you can master the basics of on your own, and though a handful of modders have started with DDLC and its outer shell in order to create their modding projects, there are some who knew the basics from before Day 0.

Most of the heavy lifting of DDLC - most notably, generating the dialogue and maintaining the personalities for the characters - is handled by **_~ATH_** , also as mentioned many times throughout the guide already. Documentation on ~ATH is sparse and evidence points towards DDLC being one of a kind, but evidence, even early on, pointed towards dialogue being generated by the ~ATH part, meaning that essentially, behind all of our backs, Salvato coded an `artificial intelligence` `natural language processing` engine, and one which, for the most part, seems to have fooled all of us into believing that these were human, relatable characters, which means that it passed its own variant of the `Turing test`, which _nothing else_ in the universe has been able to do.

Seriously. There are at least a dozen of patents to register, and quite potentially, Salvato is in line for a brand new Nobel Prize in Computer Science.

And, as far as understanding the inner workings of DDLC in the simplest possible terms goes, this is it. _Obviously_ , there are a lot more details and nuances to get into, and while Python and Ren'Py _are_ documented and therefore, you can research them in your own free time from reading this guide, I _will_ , by necessity, have to explain the basics of ~ATH, and by "basics" I of course mean "enough for you to start writing your own programs", which is considerably more than for other programming languages.

However, that is, I would say, Advanced Stuff, and for now, let's just try to slowly dip our toes in the endless ocean of DDLC. Don't worry; you will be either swimming or drowning in the stuff before you know it, and with my explanatory power, I can _only hope_ that you'll be swimming.


	7. Your Introductory Glossary

# [020G] YOUR INTRODUCTORY GLOSSARY

Like the other parts of this guide, this is going to be written in a strict order, and expect to be read it in a strict order. While, once you've read it and get stuck on a term, going back and looking up a term _is_ an option (and, for your convenience, all glossary-type documents are going to have a [***G] code, so you can just Ctrl+F `G]` and work from there), just for the sake of first-time reading, I really don't advise it, and therefore, I don't think I, personally, am going to waste my time, better spent explaining actual inner workings of DDLC, on an alphabetical glossary.

Without further ado:

**_Doki Doki Literature Club!_** (shorthand **_DDLC_** or **_Doki Doki_** ) - you know, the game that this guide is written for. [0200] BASIC TECHNICAL INFO explains everything you need to know about it, going into this.

**_Doki_** (plural **_Dokis_** ) - a character of the game (however, strictly speaking, this includes all the characters _except_ your self-insert). Each Doki's existence is strictly tied to her `.chr` file, and as the game, even in its base form, expects you to manipulate `.chr` files, they are all conveniently located in the `./characters/` folder in the game's base directory. For now, you only really need to know how to visually distinguish the Dokis:

  * **_Sayori_** (サヨリ) - blue eyes, short peach (though many will say pink) hair with a little red bow, medium height and cup size, unbuttoned coat while the other girls have theirs buttoned.
    * Casual outfit: a pink short-sleeved shirt with white frills along the bottom and light-colored, short jeans.
  * **_Natsuki_** (ナツキ) - pink eyes, short hot pink hair with a red clip, done in a bob with pigtails, shorter and more flat-chested than Sayori.
    * Casual outfit: a white short-sleeved shirt, with a pink cat image on one breast and pink sleeve ends, through which black bra straps are visible, and a pink, layered skirt.
  * **_Yuri_** (ユリ) - purple eyes, long purple hair (which she may fiddle with) with a purple clip, the tallest and bustiest of them all.
    * Casual outfit: a white, long-sleeved sweater and black, tight-fitting pants.
  * **_Monika_** (モニカ) - green eyes, long brown hair bound in a ponytail by a white bow, shorter and less busty than Yuri but taller and bustier than Sayori, black thigh-highs and pink shoes as opposed to the other girls' white knee-highs and blue shoes (not visible in-game, but it _is_ visible in promo material and such).
    * Casual outfit: N/A; however, art by Satchely released for Valentine's Day, on two separate occasions, shows her in a white, sweetheart dress.



Yeah, apparently in this pocket universe there's a strict correlation between height and boob size. And though you might think that mentioning boob size in the first place is rather untactful of me, it _is_ one of the distinguishing features of the sprites, and you _might_ find it useful. YMMV.

Oh, and: every single marketing piece, as well as the game itself, seems to list the Dokis in this order, and therefore, we can only presume that this _is_ the canon order, which will be used in this guide.

Interestingly enough, unlike the other terms used by DDLC hackers, which either they themselves came up with or which come from official material, this one does come from the mainstream DDLC fandom, which needed an affectionate way to refer to the girls in order to ship them and do the other stuff that fandoms do. Nevertheless, hackers _have_ taken a liking to it, and this guide will use it extensively.

`.chr` \- files of this extension include the information about the Dokis, and mostly straightforwardly enough, there are four of them: `sayori.chr`, `natsuki.chr`, `yuri.chr` and `monika.chr`. As far as we can tell, these files encode everything there is to know about the Dokis, and are largely completely unreadable by all but the specialized tools created by the hackers, excepting small, handful-of-kilobytes video, audio and textual files, which contain an ARG that seems to hint at Team Salvato's next game, **_Portrait of Markov_**.

How do I know it's Portrait of Markov and not "Project Libitina", which many people, mainstreamers and hackers alike, seem to think it is? Well, while the ARG linking to a website called [http://​project​libitina.​com/](http://projectlibitina.com/) is a rather compelling piece of evidence, an even more compelling piece is the list of trademarks registered by Dan Salvato LLC, including "Team Salvato", "Doki Doki Literature Club!" and... "Portrait of Markov".

However, beyond the stuff appearing in DDLC and this trademark, Salvato has kept his mouth entirely shut regarding Markov, the original release date of 2018 has been missed without an updated one ever being revealed, and hackers mostly dismiss this as an irrelevant easter egg. Nevertheless, this easter egg, though mostly an irrelevant footnote in the larger volume of DDLC stuff, will be explained by me, though a Game Theory video seems to get most of it across already: [https://​www.​youtube.​com/​watch?​v=w9AWvi82uDw](https://www.youtube.com/watch?v=w9AWvi82uDw)

**_Ren'Py_** \- the engine comprising the outer shell of DDLC's code. It is entirely open-source and pretty well-documented and maintained, and therefore, for basic "acquainting yourself with the language" purposes, I think just leaving the official link will suffice: [https://​www.​renpy.​org/](https://www.renpy.org/)

`.rpy`, `.rpyc`, `.rpa` \- all of these files are some form of Ren'Py script or archive containing other scripts, as well as files of other types, such as video, audio - and yes, in DDLC's case, scripts of an entirely different programming language. For a quick primer, `.rpy` is just plain Ren'Py which you write when making your visual novel, `.rpyc` is a compiled form that you distribute so that others won't be inclined to look at your source code right away (even though decompiling it is basically trivial) and `.rpa` is an archive file which, though you can't just rename to `.zip` and extract with the built-in tools of your OS, you _can_ also trivially extract.

**_~ATH_** (pronounced "till death") - the programming language comprising the bulk of DDLC's code. Although I don't advise you to jump straight to it, especially if you have no programming background at all, you can find the beginning of a detailed guide that doesn't expect prior DDLC knowledge at [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH, and from then on, you can just follow all the [***~] chapters (Ctrl+F `~]`).

`.~acf` \- standing for **_~ATH Compiled File_** , files of this extension include all the code that is called by the Python part and does the heavy lifting of dialogue generation, as well as what I can only summarize as "other stuff" right now. If you want an analogy, even an ill-conceived one, if DDLC were a computer, you can think of `.~acf` files as the CPU, while the `.chr` files are the hard drive.

`.~ath` \- ~ATH source code file. There are none in DDLC, but if you're looking to work with ~ATH, you will need to deal with these files. Derived from any source, whether it be DDLC itself, a hacker trying to understand the language or your own amateur ineptitude, these files are much more dangerous than either compiled or source code files for any other programming language in this universe, and I would handle them with care, and preferably avoid them entirely if I were a noob like you.

**_Sentience_** (hacker community) | **_President powers_** (mainstream fandom) - an attribute (a form of a `variable`), which DDLC designates one of the Dokis with, which seems to be _accessible_ in the Python part of DDLC but mostly manipulated in the ~ATH part. Note that unlike the other aspects of the Dokis, encoded in the `.chr` files, this one is completely independent of them, mostly to ensure that there is one - and exactly one - "Sentience Doki" in the game.

What it actually entails is perhaps a bit unclear - and yes, I do hear you wondering: but if all the Dokis can speak in natural language and express emotions, what makes one and exactly one of them so special? - but hopefully, [1000] WHAT A TYPICAL DDLC PLAYTHROUGH MIGHT LOOK LIKE will explain it all. For now, just keep in mind that it mostly pertains to being aware that you're a character in a video game, and manipulating the game files (but no more than the game files) to that accord. And, of course, that the Doki with the attribute will, invariably, be President of the Literature Club.

**_Cognizance_** \- a term that is actually pretty new, _not_ in use by either hackers or mainstreamers, and might not get used a whole lot in this version of the document as-is, but which _has_ to be mentioned alongside Sentience. You see, when I was talking with zeroBound, an author of a similar guide for a different game, they suggested this term to describe the behavior of the other Dokis in terms of artificial intelligence: essentially, the fact that all the Dokis are able to feel actual emotions and communicate in natural language places them under the Cognizance umbrella. Unlike Sentience, though, this is **not** an implication that the DDLC code is structured in a particular way, as it would all be folded into the dialogue generation routines.

Finally, a bit of in-jokes and lore that doesn't pertain to DDLC per se, but _does_ pertain to the hacker community:

**_The calendar_** that the hackers use is actually really simple. September 22, 2017, the day when DDLC was released (and incidentally, September 22 being Monika's birthday), is Day 0, and they count up from here. For example, I am writing this on January 14, 2020, and as a simple calculator like [https://​www.​timeanddate.​com/](https://www.timeanddate.com/) will tell you, it's 844 days since the release, and henceforth, Day 844 in hacker lang (hence the brief mention of "D0844" in the version history). The mainstream fandom, meanwhile, just uses the normal Gregorian calendar, hence why January 14 is also listed.

The hackers adopted this calendar because often, things on the Internet happen at breakneck speeds, and specifying that the first ever DDLC mod appeared just four days after the game might actually be a super-important detail. Further than that, though, I think they just thought that remembering all those asinine Latin month names was just too much of a hassle when there was a ginormous game to crack open, and furthermore, thought that it would set them apart from the mainstream DDLC fandom.


	8. Dan Salvato: A Brief History

# [0210] DAN SALVATO: A BRIEF HISTORY

Details on Salvato's life, his education and such are not exactly easy to come by, as, for starters, he doesn't even have a Wikipedia page for himself; there's only one for DDLC. Therefore, for example, we've got exactly _nothing_ about details such as his birthdate or his locality - at least, nothing more substantial than "the United States". However, what he _does_ have is an Internet presence, including social media such as Twitter, YouTube and Twitch, and from that, a fair amount can be inferred, including the interests I've outlined before: Super Smash Bros. Melee modding and Yoshi's Story speedrunning, as well as Twitch chat modding, to an extent.

Trying to pry deeper into any single one of these, honestly, could be constituted as a breach of privacy, and therefore, we'll move on straight to Dan Salvato LLC and DDLC.

Dan Salvato LLC appears to have been founded on July 9, 2015, 806 days before DDLC's release and long before the development phase even began. However, this should be of no surprise, as while the development of DDLC started in early 2016, the Concept Art Booklet reveals that the concept for the game first arose a year prior, and at the time, Dan was already working on an unrelated, unrevealed project (as of yet).

However, Team Salvato is slightly more recent, with their official Twitter account having been created on July 2016. That being said, the only promotion of DDLC before release, so to say, amounts to two tweets: one made by Dan's personal account on September 8, 2017 (14 days before release) only mentioning a "never-before-seen next big project" and showcasing four squares, which correspond to the eye colors of the Dokis, and one made by the Team Salvato account on September 16, 2017 (6 days before release), confirming that the project in question is a game. And then... boom, all the cute facades and cute girls and stuff.

Anyway, what happened to Dan _after_ the release? Well, inside the DDLC files, he hid an ARG for a project that would be releasing in 2018; however, throughout the latter part of 2017, due to the rising popularity of the game and memes he found offensive, his mental health entered a steady decline, and he spent essentially all of 2018 and 2019 out of the public eye. He _would_ show up for certain conventions, and he _would_ do special streaming events, such as his own game on its first anniversary and Undertale on the second, but other than that, he just didn't _do_ anything on the Internet.

This lasted until May 23, 2020 (Day 974, and _after_ this document was started), when he did a "The Music of DDLC" stream, and then, suddenly returned to a regular schedule of Melee and Yoshi's Story streams, with a notable feature: _any_ discussion of DDLC is banned from his chat. Oh, and in January, he said something about regaining his happiness and releasing two projects: first, an official expansion set in the DDLC universe (which even seems to have its name leaked afterwards, being revealed as "Doki Doki Literature Club Plus"), and then, a VN project that has been sitting on his shelf all this time ( _very likely_ Portrait of Markov); the timeframe is _implied_ to be the year 2020, but it isn't really _confirmed_ per se.

And that's that, for now. What the future holds is what the future holds, and I'm not really inclined to do any speculation while there is still stuff to be analyzed in the present day.


	9. Interacting with DDLC

# [0300] HOW TO PLAY DDLC

For the most part, DDLC is a game of clicking through and reading, and to be honest, downloadable versions of DDLC _do_ provide you with a manual, and therefore, I won't exactly be repeating everything here. However, I will tell you that all the standard shit you expect in a visual novel, as well as a game of any kind, is there: saving, loading, some rudimentary settings and so on. Again: as [0000] ATTN: THIS IS NOT A WALKTHROUGH explains, playing the game isn't exactly rocket science, and if you're purely perusing the game as a player and not a hacker, most of the material here is going to be a bore and not even immediately useful to you.

Although I won't go so far as to acknowledge that there is absolutely _no_ stuff that one can use for casual edification, such stuff, if it's really there, is far and few. Potentially, noting it in form of "pro tips" or "easy reading" _could_ be in my plans for the future, but right now, it just... isn't.

# [0400] HOW TO CRACK DDLC OPEN

So, I guess, this is the chapter where I attempt to talk about how dealing with DDLC goes, without having elaborated as to _any_ internal structure. I mean, I _suppose_ you know that it's all a Ren'Py-coated ~ATH candy, but how much do you _really_ know? If I were to get all technical in this chapter, how far would you be able to follow?

All I'm saying is: great planning forward, past me.

Regardless, this section is here, I can't make it disappear from here and I might as well write something up to fill the space.

So, DDLC is a Ren'Py game, and in order to get any sort of progress in modding it, it seems like Ren'Py itself, the SDK, would be highly essential. Right?

Well, what you haven't realized is that DDLC is a Ren'Py game; that means that the engine is _included_ within the game. There is, in theory, nothing stopping you from simply writing your own `.rpy` script, adding it to the game as-is and technically getting a modded version that, as a bonus, already ticks a box in the Team Salvato IP Guidelines about distribution of fan games and mods. (You still haven't ticked the box wherein a mod must state upon first run that it's unaffiliated with the game, but we're getting there.)

If you think it will make your life easier, get the SDK. And if you do, make sure that you get version 6.99.12, as newer versions are incompatible with DDLC. But if you don't, it's your life, man.

That being said, just getting the SDK doesn't even get you all the way to seeing what's inside those `.rpa` files - something that is necessary for a Ren'Py game to function, but won't be provided to you on a silver platter because the game is mostly concerned with providing you with a gameplay experience. There is not much to worry about, though, as the design of Ren'Py is known in principle, and tools to get to the bottom of those files have been made from since before DDLC even existed. Those are **_rpatool_** for `.rpa` files and **_unrpyc_** for `.rpyc` files, and once both of those have been executed on the DDLC files, you have a fully decompiled Ren'Py game.

That being said, there are still two more tools to talk about in the Ren'Py category. They are primarily tools designed for mainstream modders, who want to deal with the Ren'Py part of DDLC and the Ren'Py part of DDLC only, but nevertheless, have found uses within the hacker community as well. The first of them is the **_DDLC Mod Template_** , which replaces the script of DDLC with a little Ren'Py tutorial, but which, otherwise, is a _great_ springboard to write your own little scripts to mess around with the dialogue generation.

The second is **_Doki Doki Mod Manager_**. Though primarily created by the mainstream DDLC fandom, for the mainstream DDLC fandom, in order to track mainstream, ~ATH-less mod installs and such, it has proved _immensely_ useful to hackers who might, for whatever reason, need several concurrent DDLC installs, modded or otherwise, in different "states" of the game so to say; once files are transferred between those, the _true_ joy of hacking can ensue.

With all that said, now let's move on to the ~ATH part. Such a distinction _can_ be made, despite the tight integration of Ren'Py and ~ATH in DDLC, because the ~ATH part, though written in, well, ~ATH, is mostly polished and bug-free (except when it's _supposed_ to glitch out), and unless you start inserting ~ATH code of your own (which I **do not recommend** in the early stages), you should never see a ~ATH script error at all.

That being said, you might still want to pursue ~ATH coding independently. For that, the tools you will need are the usual: a compiler, a manual and a text editor. The first has been sourced by DDLC hackers and found to match what Salvato used, fairly early on, the second is _not_ a thing in the hacker community and will be written by myself, and the last is basically standard software that your OS should ideally have already come with.

Obviously, if you want to indulge yourself in more DDLC goodness, you will also need a decompiler (much like the ones for Ren'Py), but I'm afraid that's not really a thing as of yet. The thread I'll be linking, though, is a pretty good insight into the latest news re: DDLC hacking, debugging and exploiting.

Of course, even though a ~ATH decompiler is still a future as distant as proper AI Dokis, that isn't to say that all hope is lost. In fact, the hackers _have_ decided to grace us with both a pretty robust debugger (that, unlike the standard Ren'Py debugger, _does_ seem to know what's going on in those ~ATH files) and perhaps the most amazing tool of them all, **_.chr Peeker_** , which lets you see how `.chr` files are modified throughout the game and, though most of their variables are unlabeled, essentially lets you create fan characters in the same universe.

And that's it for the tools I'll be linking right away.

# [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC

As you can already see, non-number last characters of chapter IDs are special. In this case, "R" stands for "resources", and mostly consists of links and such. The [***R] code, as with others, can be easily found if you Ctrl+F "`R]`".

The vast majority of tools that people use in order to get to the bottom of DDLC's secrets is located on their forums, often in threads which these guys have memorized the IDs of, and therefore, no one seems to have collected into a single overarching document... until now. If you download and install all of this stuff (and, as far as I can tell, there are no viruses to be found in any of it, though all of your usual precautions when dealing with scripts from sketchy sources still apply), you will already have walked a good chunk of the way towards becoming a bona fide DDLC hacker.

In order to deal with the Ren'Py part of DDLC, you will need:

  * Though strictly speaking optional, **_Ren'Py_** itself (version 6.99.12; newer versions are incompatible with DDLC) is highly recommended: [https://​www.​renpy.​org/​release/​6.99.12](https://www.renpy.org/release/6.99.12)
  * **_rpatool_** to crack open the `.rpa` files: [https://​github.​com/​Shizmob/​rpatool](https://github.com/Shizmob/rpatool)
  * **_unrpyc_** to crack open the `.rpyc` files that you will inevitably find inside the `.rpa` files: [https://​github.​com/​Censored​Username/​unrpyc](https://github.com/CensoredUsername/unrpyc)
  * **_DDLC Mod Template_** :
    * Original: [https://​github.​com/​Monika-After-Story/​DDLC​Mod​Template](https://github.com/Monika-After-Story/DDLCModTemplate)
    * Updated: [https://​github.​com/​Gansta​King​of​SA/​DDLC​Mod​Template​2.0](https://github.com/GanstaKingofSA/DDLCModTemplate2.0)
  * **_Doki Doki Mod Manager_** : [https://​doki.​space/](https://doki.space/)



Though I **do not recommend** going straight to messing with the ~ATH part of DDLC, should you ever feel the need to do so, you will need:

  * The **_~ATH compiler_** : [https://​forums.​dokidoki​hackerverse.​net/​t/​celebrating-the-new-site-with-a-ath-compiler/​17?u](https://forums.dokidokihackerverse.net/t/celebrating-the-new-site-with-a-ath-compiler/17?u)
  * The **_~ATH decompiler_** progress: [https://​forums.​dokidoki​hackerverse.​net/​t/ath-decompiler-progress-so-far/​214?u](https://forums.dokidokihackerverse.net/t/ath-decompiler-progress-so-far/214?u)
  * My **_~ATH manual_** , beginning at [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH and continuing with all chapters with a [***~] code (Ctrl+F `~]`).
  * A rudimentary **_debugger_** that works as a Ren'Py addon: [https://​forums.​dokidoki​hackerverse.​net/​t/a-little-something-you-might-find-useful-for-all-your-ddlc-datamining-purposes/9203?u](https://forums.dokidokihackerverse.net/t/a-little-something-you-might-find-useful-for-all-your-ddlc-datamining-purposes/9203?u)
  * **_.chr Peeker_** : [https://​forums.​dokidoki​hackerverse.​net/​t/chr-peeker-your-tool-for-quite-literally-reading-minds/​13750?u](https://forums.dokidokihackerverse.net/t/chr-peeker-your-tool-for-quite-literally-reading-minds/13750?u)



Whew. I think that's all of the introductory stuff, _done._ We can finally start getting to the good part. In that Pandora's bore hole analogy, this _was_ just that single amethyst, which you might be tempted to throw off a cliff and never speak of again if you're no more than a DDLC _player_ , but which is not nearly enough for hackers, or even casual sleuths like us.

So, what are we dealing with? What's so difficult to wrap your head around, re: DDLC?


	10. What a Typical DDLC Playthrough Might Look Like

# [1000] WHAT A TYPICAL DDLC PLAYTHROUGH MIGHT LOOK LIKE

Alright. Since that scary disclaimer told you to wait until you've played DDLC to make your way here, and for legal reasons I must assume that you did so, and since _more likely than not_ you did so before trying to read the densest and most technical guide to the game of them all, you might want to mentally go back in time (not to be confused with actual time travel subroutines that can be found in ~ATH; just normal imagining that you're going back in time) and prepare yourself there. Though I really don't want to do this for the more technical parts of the document, this is still pretty basic noob-y stuff, and it might just be worthwhile to set the mood.

You might have seen some anime fanart out there, online, and inquired the artist as to where the characters come from, only to receive the answer "Doki Doki Literature Club! by Team Salvato, and I cannot tell you any more, just go play it". Or you might have seen some discussion of DDLC, in passing, by people already attuned to the psychological horror element. Myself, I vividly remember a discussion taking place in Tumblr, wherein a jaded Tumblrina expressed, in myopic hope, "what if... we do the reverse? What if we make a game that, on the surface, appears to be a psychological horror game, but once you play it for a while, it turns out that it's just a cute dating sim?" (though, they did well to avoid _naming_ DDLC).

Whichever avenue you go, you're incited to download DDLC from either official source: Steam or ddlc.moe/itch.io. As per [0200] BASIC TECHNICAL INFO, there isn't really a difference: either of them gives you the same game.

Just before you download the game, though, let's briefly talk about those landing pages. Both of them have the same blanket marketing text, intrinsically designed to be pasted over a multitude of barely related pages like bottles of Coke and Pepsi in grocery stores, and the same text seems to be hardcoded into the game, too, though it seems to be dummied out and can only appear when the game glitches out under certain occasions.

However, just right now, go back to those pages and try to read them. Of course, now, you might be attuned to how certain details might be fishy (e.g. "Will you write the way into **her** heart?" (emphasis mine) implying that you're targeting your writing towards a single Doki, as well as "will you promise to spend the most time with me?" hammering that detail down even further), but odds are, taking yourself back in time before you were a fan of the game or even knew of it, you _don't_ find anything suspicious about it.

The most obvious sign that something fishy is going on, and one that you might _not_ have missed, is, of course, the disclaimer: " **This game is not suitable for children or those who are easily disturbed.** " However, at this point, you mostly just assume that it's got some raunchy stuff, and _that's_ why it's PG-13 or NC-17 or whatever rating it would have attached if it were properly published by a studio and rated by the ESRB.

Thus, you click download, and then play (if you did it through Steam) or double-click the executable file (if you went the ddlc.moe route). Once you do, in case you missed it the first time (or the second, presuming you watched the little trailer), you get the same disclaimer about children and the easily disturbed, though this time, it's followed up with a bit of clarification:

> Individuals suffering from anxiety or depression may not have a safe experience playing this game. For content warnings, please visit: [http://​ddlc.​moe/​warning.​html](http://ddlc.moe/warning.html)
> 
> By playing Doki Doki Literature Club, you agree that you are at least 13 years of age, and you consent to your exposure of highly disturbing content.

Anxiety or depression, you say? Well, _about time_ we got some representation for that. And I still firmly stand by my opinion, though I don't have a lot of people who agree: if you took out all of DDLC's disturbing elements and all of its phenomenal coding, just the mental health stuff, alone, would make it stand out on its own among all visual novels and a vast majority of video games, period.

Regardless of that, still not having formed a true picture of what DDLC is like, you click on "I agree." and enter the main menu - after a brief splash screen telling you the same thing about children and the easily disturbed for the fourth (and thankfully final) time.

# [1001] AN OBLIGATORY CONTENT WARNING

Okay, but seriously, it needs to be said: at its core, DDLC is a psychological horror game, and therefore, is going to have scenes of that caliber. Now, it's nothing like Five Nights at Freddy's with its jumpscares almost being like a huge shtick that devalues horror in general, but that's kind of the point: I need to warn you about those scenes _because_ they are actually effective and can catch you off guard, whether you're actively partaking in DDLC or just reading a really detailed tour through it like this one.

Let's start with the obvious: there are two specific cases of graphic violence and death depicted in the game. In case you need to keep bookmarks, those appear at chapters [1170] and [1230] (deliberately not expanding their full names, because that could be a potential spoiler).

However, throughout the game, there are also various minor "creepy" Easter eggs (though, none of them are jumpscares), as well as very detailed and realistic depictions of mental illness and, in one character's case, abuse. If, for whatever reason, you find yourself needing to steer clear of them, then you're honestly advised not to read further, and instead, have someone you trust, who you _know_ won't trigger you with _anything_ they do, read for you. There aren't really any "good" parts in the retelling section, and therefore, if you need to miss out on the detailed descriptions, you need to miss out on the detailed descriptions.

Have you taken all the necessary precautions? Are you staying safe? If so, let's waste no more time.

# [1010] THE MAIN MENU AND NAME WOES

While not strictly part of the game itself, the main menu, should you choose to explore it before clicking on "New Game" and entering your name, is pretty straightforward. You've got "Load Game" for all your saved game needs (though, the system is deliberately crippled by the game in certain circumstances, and if you've got some extra hard drive space, copying the entirety of the game files to a safe location is your best bet if you truly want to save your state), "Settings" for all your text speed, graphics, etc. settings, "Help" which opens the aforementioned help file for basic game navigation and "Quit" if, at the particular moment, the keys Alt and F4 are out of your reach.

The Android version, though it should _not_ be your first DDLC experience, has an extra menu option, but getting into it right now is, I think, a little bit too soon.

Regardless, that's all there really is to say regarding the main menu.

Word of advice, though; the best course of action, once you hit "New Game" and are asked for a name, is really just entering your own name (provided you're a guy, which the majority of people interested in DDLC are). Trying to enter a gimmick name like `BITCH`, so that Dokis would be forced to say it in certain grammatical contexts and, in turn, make every sentence funnier, is fun _in theory_ , but since we're dealing with a natural language processing engine, they _will_ get alienated by it, and your chances of an archetypal playthrough will be drastically decreased. Meanwhile, entering a female name, since you're actually naming a guy ( ** _your self-insert_** ), will definitely make the Dokis raise their eyebrows (or as close as they can get with a limited sprite inventory), and as for naming him after one of the Dokis? Don't even try.

**TL;DR:** Best case, your own name (if you're a guy), and if you have a _really strong_ predisposition against your own name (or if you're a girl or non-binary), any common male name in your culture (and yes, many different cultures will be recognized, though if you really wanna guarantee that the odds are in your favor, Anglophone and Japanese names are your best bets).

# [101G] AN ARCHETYPAL PLAYTHROUGH: WHAT IN TARNATION?

> There is a lot of content that can't be seen in only a single playthrough, so different players will have different experiences playing the game. I hope this leads to some fun streams, discussion, and sharing stories of your experiences.
> 
> _\- Dan Salvato, September 22, 2017_ \- [http://​team​salvato.​com/​blog/​doki-doki-literature-club/](http://teamsalvato.com/blog/doki-doki-literature-club/)

Though the procedural nature of DDLC has been mentioned time and time again, as we are about to get into our first proper gameplay description, it is worth it repeating one more time, and an entire dedicated chapter is even better in this case: **every single gameplay event only happens generally, and is not guaranteed to happen on any given playthrough**.

That's it. Though DDLC can be considered to have a plot, your particular gameplay experience is not in any way obligated to follow that plot, and may take a left turn or a right turn or a 180° turn or any sort of turn not considered above, at any point. The most common points of divergence will, of course, be mentioned, but if, at any point, the plotline as outlined here becomes impossible to follow, then simply accept that your playthrough isn't archetypal and don't follow the outline.

That being said... I have a term to introduce, as well as some statistics to drop.

The following section describes what's known, in the hacker community as well as in the mainstream DDLC fandom, as an **_archetypal playthrough_**. Though what constitutes an archetypal playthrough and what constitutes an uncharted veering from the plot is still in debate, we do have a team of statisticians, appropriately named **_#TeamStats_** , who have managed to agree upon a working, scientifically based definition of an archetypal playthrough, and based on that, provide us with some statistics. While #TeamStats mostly consists of hackers, they _do_ have some representatives in the mainstream fandom, who were even able to conduct large-scale surveys involving some who might not even consider themselves DDLC fans, thus making for some rather precise numbers.

The number they provide us with is this: while there are, by nature, huge margins of error regarding misremembered plot details, around 70% of DDLC playthroughs, across all the statistics and datamines collected, are archetypal.

Furthermore, #TeamStats did some analysis concerning people's first, second and so on playthroughs. While considering any single playthrough on its own, the 70% figure seemed to be pretty reliable.

However, what really surprised them, as well as basically everyone else with so much as a passing knowledge of ones and zeroes, was this: taking any given person's first and second playthroughs, the probability that at least one of them is archetypal is _very_ close to 100%. If you whip out some basic mathematical tools for probabilities, you _should_ be expecting that to simply be , but these people have managed to prove that it is, in fact, significantly more.

What's more, the way they ended up defining a playthrough, which led them to this mind-blowing stat, is also something that makes you hit the brakes on your little car of DDLC adventure, come to a complete halt with screeching tires, then scream out "this is not how computers work!". For one, this stat actually transcends computers: if you downloaded DDLC on two different computers from different LANs, disconnected them from the Internet and played DDLC to completion, once, on each of them, you would still be almost guaranteed to get at least one archetypal playthrough.

Well, there's still more. The _true_ working definition of a playthrough, clearly there in the definitions page of the #TeamStats analysis released on Day 413, doesn't even require you to be at your seat by your desktop or laptop computer, playing DDLC. You could also be in someone else's room, like a sibling's or something, watching them play. Or, most mind-blowingly of them all, you could be watching a livestream, by a complete rando, of a "DDLC blind run" (which still seem to happen these days, even though you would think that DDLC has plenty matured as a fandom), and that would genuinely count as a playthrough. That is why, as #TeamStats duly note, if a streamer is even moderately popular, their DDLC run is almost always going to end up being archetypal.

The underlying reason, as discovered later on by hackers, is that the ~ATH part of DDLC is able to detect you, identify you and decide what sort of playthrough it's going to deliver you. However, if you're excited and have revved up your little car of DDLC adventure once again, I'm here to point you to a sign on the highway telling you that any sort of ~ATH introduction, even one for absolute laymen, is still miles away. For now, a sufficient mental trick, in order to make you stop asking questions which won't get answers until you've been deemed worthy, will be to simply substitute any "~ATH-related reasons" with "because magic" and leave it at that. This, of course, is fallacious and there _is_ rhyme and reason to everything packaged with DDLC, up to and including its ~ATH code, but for now, it should be a convenient shorthand to get you to stop being curious and deal with the way _I_ present DDLC material.

Now, what factors affect whether or not your playthrough, first, second or zillionth, is going to be archetypal are a little vague, though #TeamStats has managed to shine plenty of light onto them, too. The most significant of them seems to be closeness to the fandom: both hackers and the most prominent of mainstreamers were significantly more likely to get an archetypal playthrough on their first go, even though the only thing that connected them was the fondness of the DDLC source material. How come the game is prescient? ~ATH-related reasons.

# [101R] THE COMPLETE FINDINGS OF #TEAMSTATS

The findings of #TeamStats, however, go far beyond this - and of course, even if they don't, I still need to cite my sources. Though right now, the complete findings will definitely be above your level of reading - if not for statistics, then certainly for DDLC - you are welcome to save this chapter heading for later, when you can actually stretch your legs out in the utter darkness of DDLC that, so far, I have helped to illuminate.

  * **Year 1 findings** : [https://​forums.​dokidoki​hackerverse.​net/​t/​teamstats-the-most-detailed-statistics-on-ddlc-playthroughs-this-side-of-the-internet/​26413?u](https://forums.dokidokihackerverse.net/t/teamstats-the-most-detailed-statistics-on-ddlc-playthroughs-this-side-of-the-internet/26413?u)
  * **Year 2 findings** (basically hot stuff): [https://​forums.​dokidoki​hackerverse.​net/​t/​teamstats-2-year-update/​43612?u](https://forums.dokidokihackerverse.net/t/teamstats-2-year-update/43612?u)



At any rate, are we ready to begin with the plot of an archetypal playthrough? I think we are ready to begin with the plot of an archetypal playthrough.


	11. Act the First: Incredibly Cute Girls

# [1100] ACT THE FIRST: INCREDIBLY CUTE GIRLS

Though the first portion of the first act might look scripted, I can once again assure you that none of the following is hard-coded into the game. That being said, if you didn't fuck up naming yourself (see [1010] THE MAIN MENU AND NAME WOES), 99.9% of the time (this and other percentage points throughout [1***] _are_ sourced from #TeamStats), this _will_ be how it plays out, and you will be given exactly zero choices throughout, so you won't even really be able to do anything about it. I suppose, some portions of the game simply need to stay the way they are, in order to establish the setting, and establishing the setting is what we're going to do.

Your player character (the mainstream fandom typically calls him **_MC_** , standing for " ** _main character_** ", and treats him as though he were a character alongside the Dokis and completely independent of you, while the hackers typically call him **_your self-insert_** , or on rare occasions **_SI_** , and acknowledge the intrinsic relationship between him and you) is, as you would expect from a visual novel protagonist, a romantically inept dude in high school who spends most of his free time watching anime and reading manga, and is uninterested in any high school clubs.

**JAPANESE CULTURE CLARIFICATION** : Though you, an American/European/whatever who doesn't regularly watch anime, might find this aspect of DDLC alien, it is perfectly normal in Japan: high school clubs, such as the titular Literature Club, are highly respected parts of school life. Being faithful to them is your first chance at showing your honor capabilities (even if you only know the bare minimum about East Asians, I still think you know they value honor very highly), and not participating in club activities, or as some might mention, "being part of the Go Home Club", is basically a telltale sign of being a social recluse of the highest possible degree.

Nevertheless, while he doesn't have any clubs or friends he met in recent years, he _does_ have a childhood friend who he still maintains closeness with, **_Sayori_**. Though details on the exact opening line of the game might vary, what is _mostly_ invariable is that Sayori, given a completely unmodded install, has overslept and, at the proverbial , is running to catch up with your self-insert, who is walking to school. He thus, overhearing her, stops for her and and lets her catch up, but... is kind of a total dick about it, and Sayori doesn't fail to notice that.

She then transitions to the topic she really wanted to bring up (how smoothly or non-smoothly is entirely dependent on the playthrough), namely that of your self-insert not having joined any clubs. It appears as though he actually promised Sayori he would join a club this year, though it was very much in the "yeah, sure, whatever" nature. Of course, your self-insert doubts the sincerity of his own statements, but Sayori still insists that he join a club, simply because she is on the lookout for him and doesn't want to see him end up a NEET in the immediate future. She also may or may not "subtly" recommend that he join the Literature Club, which she is the Vice-President of, but most of the time, she will briefly mention her own Vice-President woes. Your self-insert may or may not have a "no, girl, _I'm_ on the lookout for _you_ " moment, but in the end, he concedes and promises Sayori, this time entirely genuinely, that he will look into clubs today.

The school day is mostly as ordinary as ever, and it's over before your self-insert knows it. Immediately after the last lesson, he begins pondering the idea of joining clubs more seriously, but given his interests, his thoughts, at first, are directed towards the anime club. That is when, in his spacing out, he is interrupted by Sayori, who, seemingly, knew what his last lesson was and wanted to approach him outside the door, but then found him spacing out. If she hasn't introduced it yet, she properly introduces the Literature Club this time, and in either case, she brings up that she kind of promised the Literature Club that she'd bring in a new member, and another member, **_Natsuki_** , already baked cupcakes in anticipation. Though your self-insert, at first, is still a condescending asshole, muttering something along the lines of "don't make promises that you can't keep", in the end, he realizes that he has no choice but to check out the Literature Club.

While due to the nature of DDLC's dialogue, it is impossible to quote characters or narration directly in upwards of 99% of the circumstances, some variant of "And that is the story of how I sold my soul for a cupcake" _will_ be in the narration at this point, written in first person from your self-insert's POV.

At any rate, your self-insert and Sayori head over to the third floor, which, as noted, is typically reserved for club activities. From there, it's a simple matter of opening the door and, though your self-insert still doesn't know their names or how to distinguish them, at least in the very first moments - he comes face to face with Natsuki, **_Yuri_** and **_Monika_** , the last of whom introduces herself as the President, and then the other two as members. Though, you can expect your self-insert to be flabbergasted over how the club is full of "incredibly cute girls" or something to that effect.

**NOTEWORTHY DIVERSION** : In the beginning of an unmodded game, Monika is also the Doki with the Sentience attribute. Interestingly, having the Sentience attribute in the code and being President of the Literature Club in-universe seem to have a strict correlation, and oftentimes, the mainstream fandom will refer to Sentience-related powers as "President powers", as pointed out in [020G] YOUR INTRODUCTORY GLOSSARY.

After idle chatting around cupcakes - and, rather interestingly, Monika revealing that she and your self-insert are on very iffy familiar terms, having been in the same class last year - Yuri tries to get him to open up about what sort of stuff he likes to read. Half-jokingly, he utters "manga", which leads to Natsuki perking up, as manga is her favorite reading pastime too. However, in contrast with your self-insert and Natsuki, Yuri and Monika are a bit snobbish, considering manga "not real literature"; outbursts from Natsuki that "manga is literature!" are not uncommon. Thus, it falls onto Sayori to extinguish the argument before it escalates.

At any rate, in turn, Yuri shares with your self-insert that her reading tastes tend to jump from genre to genre, but _in general_ , tend to revolve around explorations of the human mind, and _as of lately_ , she has been getting into horror novels. Natsuki visibly frowns, and one of the two - Monika or Sayori - observes that, noting that she likes to read - and write - cute stuff. In fact, as Monika points out, Natsuki left behind a scrap paper, containing a poem, which she, herself, is highly embarrassed about, stopping Monika from reading even the title.

As the topic switches from reading to writing, we learn that Yuri, too, is also one of those writer types who is simply too concerned with public opinion to share any of her writing. Sayori is considerably saddened, as she wants to read through the other Dokis' stuff, and at her lamentation, Monika has an idea: for the next Literature Club meeting, everyone - and that includes Sayori, Monika and your self-insert - will write a poem of their own, and then, everyone will share with everyone else, thus making everyone on equal footing.

Reluctantly, Yuri and Natsuki agree to the idea. Your self-insert, however, voices a concern: though he came to the Literature Club to check it out, him joining in was still not definitely set in stone. This remark, however, saddens all the Dokis, and not wanting to disappoint them, he finally makes up his mind: he's joining the Literature Club.

With this, the club is adjourned, and the members part their ways. At this point, Sayori subtly reminds that she is ready to go home with your self-insert, and he remembers: that's right, since Sayori got involved with club biz, while I didn't, we stopped going home at the same time. Nevertheless, he agrees, and the last "scene" of the day is outside. An actual dialogue with Sayori over the experiences of the Literature Club is... rare (#TeamStats say 15%), but not out of the question and is _not_ going to break the archetypal playthrough. More likely, though, your self-insert is just likely to remark that the whole poem-sharing biz is a great way to get closer with one of the girls, perhaps to the point of romance - and notably, he lists them all: Sayori, Natsuki, Yuri and Monika, in that order.

And with that, your self-insert returns home and starts writing his poem.


	12. The Poem Minigame: For the Casual Player

# [1110] THE POEM MINIGAME: FOR THE CASUAL PLAYER

This is the first of a few instances in which the so-called "poem minigame" appears, luckily preceded with a popup cluing you onto its purpose, hardcoded:

> It's time to write a poem!
> 
> Pick words you think your favorite club member will like. Something good might happen with whoever likes your poem the most!

At any rate, the poem minigame is a Pandora's box to open in and of itself, and going into details of how those words are presented to you and how they are scored is potentially going to take ages, which is why, right now, I'm just going to reserve a future section [2100] THE POEM MINIGAME: YOUR FIRST DIVE, and instead just talk about it all on the surface level.

First of all, you might have noticed one peculiar detail: though Sayori's, Natsuki's and Yuri's chibis are there, on the bottom of the left page, Monika's is completely absent. This is **not a bug** ; the plot intrinsically specifies that the Doki with the Sentience attribute should be absent from the minigame. Though I should not go into modding yet, I _will_ mention that this _is_ fixable in Ren'Py, allowing for a poem minigame "as God intended", with every single Doki present.

Also, you might have noticed my brief allusion to a notebook mode. This is where it comes into play: as evident from the Ren'Py code (the entirety of the poem minigame is coded in Ren'Py, excepting the routine which assigns words their scores, which is in ~ATH), the poem minigame was originally intended to be a proper poem-writing experience. However, I guess most betatesters just wrote lazy renders of "roses are red, violets are blue", which is why we have the current version of the poem minigame that we have.

In this version, you get 20 "pages" so to say, and on each page, there are 10 words. Despite your initial impressions when looking at the game files, these words are _not_ hardcoded; though `poemwords.txt` exists with some preliminary values of some words, these are _not_ used by the poem minigame, which instead opts to get its words from the aforementioned ~ATH subroutine.

Disregarding all of that, you are supposed to pick one of the words, and then, one of the chibis will jump up with excitement, corresponding to which Doki likes the word the most. As mentioned in [0000] ATTN: THIS IS NOT A WALKTHROUGH, you want to stay faithful to one of them, and that is primarily done through the poem minigame, whose instances amount to more opportunities for input than the rest of the game combined. Though this is _still_ not a walkthrough, I suppose I _can_ go over some guidelines as to word affinity so to say:

  * Sayori mostly likes words conveying simple feelings, as well as words pertaining to romance, as she is a bit of a hopeless romantic who has always been entertaining the idea of your self-insert falling in love with her. Ex: `happiness`, `sadness`, `love`, `heartbreak`, `adventure`
  * Natsuki mostly likes words pertaining to her interest in anime and manga, as well as words you might associate with tsunderes (Japanese culture clarification coming up in a bit), and of course, though she abhors the notion in the game, anything to do with cuteness. She is also the one who tends to be rather girly compared to the rest. Ex: `shopping`, `boop`, `pout`, `kawaii`, `doki-doki`
  * Yuri mostly likes the sorts of words you would find yourself looking up in a dictionary, even as a native English speaker. However, once you do look those meanings up, you will realize that these words all pertain to vivid imagery, as well as intense, raw feeling. She also seems to hold within herself a bit of guilt. Ex: `effulgent`, `vivacious`, `afterimage`, `agony`, `atone`
  * In case you broke/modded the game in some way and Monika appears (which she **shouldn't** at your first poem minigame, or any of them in an unmodded game (excepting Act 3), and if she **does** , you're not on an archetypal playthrough anymore), she mostly likes words pertaining to existentialism, computer programming and positions of leadership, as well as poem writing _and_ some romance words that Sayori would normally like, for reasons I can't get into right now. Ex: `responsible`, `crisis`, `variable`, `polite`, `scribe`



**JAPANESE CULTURE CLARIFICATION** : Deres! (that's "deh-reh", not "dear") Though the different deres are a dime a dozen and there is not nearly enough of oh-so-precious time to get into them all (and if you _do_ want to get into them all, I advise you to just look up a list online), I will mention two of them, that will occasionally be used as descriptors of characters. The first is **tsundere** ("tsoon-deh-reh"), which can actually mean one of two things: either aggressive on the outside and cute once you get to know them (like Natsuki), or cute on the outside, but doesn't let people near them (examples do not come up in an archetypal playthrough). The second is **yandere** (with the sort of "an" in "Han Solo"), which means "pretty romancey on the outside, but once a chance of separation occurs, will get aggressive", or in other words, "if I can't have you, no one can" (examples are yet to come up). For more information, see [220G] INTERMISSION: AN ABRIDGED GLOSSARY OF DERE TYPES.

At any rate, once you've picked twenty words, their scores are all tallied up, and for the most part, the Doki with the highest score is the "winner" so to say, whose CG (a visual novel term which just stands for "computer graphics"; the Japanese tend to appropriate English words and give them novel meanings like that) you are going to experience next. Obviously this is an "in general" deal (if you've already ruined your relationship with her, a single poem is not going to change her mind), but as you might have noticed, you had exactly zero chances to describe your allegiance so far, and just don't worry about it for now.

And with that, the poem minigame fades to black and you may continue with the next day.

# [1111] POEM MINIGAME ADDENDUM: THE TRUEST FORM OF WRITING IS WRITING TO ONESELF

On rare occasions (#TeamStats say 1.5%), after completing the poem minigame, you are kicked back into it and have to start over. Though you don't get the poem minigame popup again, and as such, are not given any clue as to why it happens, the general consensus among both the mainstream fandom and the hackers is that your self-insert decided that his last poem was trash, and opted to write a new one from scratch. **Though it really seems like this is a bug, it's just a case of miscommunication between the game and you, and if this happens, you're still on an archetypal playthrough.**

This is more likely to happen if you (yes, you, the player) have some form of creative writing that you never published, just like Yuri and Natsuki in-universe. Though I can't psychoanalyze you, an impartial reader of this guide who I don't even know anything about, and determine _why_ you lack confidence to get your writing out there, the best course of action right here is to remind yourself that this is all just a video game, and that, if you attain a good poem score for your Doki of choice (out of the ones available), that Doki _will_ pay attention to your self-insert.

How does the game know that _you_ , the player, have confidence issues? ~ATH-related reasons. And indeed, you'll find that keeping a stoic attitude, as a DDLC player and especially DDLC speedrunner (I'm not even going to reserve a section for speedrunning right now, as we still have a lot of material to cover before we can even _start_ talking about the sorts of glitches that speedrunners abuse), is just as important as picking the right choices in-game.

However, if you fail to feign confidence or DDLC fails to detect it, odds are, you are going to be kicked back into the poem minigame, again and again. After four or five tries (the exact amount varies, but #TeamStats report a mean of 4.6 and a standard deviation of 0.5), your self-insert is implied to have agonized himself over the poem throughout the evening, and fallen asleep without anything to show, and is going to show up, the next day, without a poem. Needless to say, this majorly breaks all the Dokis' hearts ("y u no take the Literature Club seriously?!?!?!"), makes your self-insert apologetic ("but I do! It's just that... I can't get it right...") and kicks you off of an archetypal playthrough. For this and similar scenarios, refer to [1510] OOPS! LOOKS LIKE I FORGOT TO BRING MY POEM, WHAT NOW, AM I KICKED OUT.


	13. Days Two, Three and Four: Relationship Building

# [1120] DAYS TWO, THREE AND FOUR: RELATIONSHIP BUILDING

Assuming you have got your poem, and therefore, are still on an archetypal playthrough, the second day starts with your self-insert already at the Literature Club, having merrily skipped through walking to school and the school day itself. From there, the Dokis are a _bit_ surprised that he decided to stick with them - they really thought he was going to ditch them, just like that - but he counters, saying something along the lines of being a man of his word. The sentiment is appreciated throughout the club, with Natsuki being relieved (if he had just come for the cupcakes, she says, she would be really pissed) and Monika taking her time to make sure that the newest Literature Club member is cared for.

From there on, days two, three and four follow a bit of a formula:

  * **Poem minigame** (you already passed this for day two, as it precedes the day)
  * **Before**
  * **CG**
  * **Poem sharing**
  * **After**



Each of the following truly _is_ a separate segment, mostly not influencing the ones close to it, and though breaks in plot continuity might be noticeable, it is not something a player/hacker should worry about; just leave that to the critics.

The "before" and "after" segments, when coupled together for all days, _do_ comprise a continuous plot, though, and will have to be talked about last. For now, let's just talk about the other portions, which are almost like the flavor text and the worldbuilding of your particular DDLC `instance`.

# [1130] POEM SHARING: YOUR BEST WAY TO GAUGE DOKI INTERPERSONAL RELATIONSHIPS YET

So yeah, at some point, Dokis gather around, invite your self-insert over as well, and presuming that you _do_ have at least _some_ sort of ego relating to your creative works, the big poem exchange happens. This part can roughly be divided into two big chunks, which happen in sequence for each of the Dokis: the Doki in question reacting to your self-insert's poem, and him reacting to hers (which you get to read on a fancy page and all that).

From the top, let's deal with the reactions first, and how to gauge them.

  * As, on an archetypal playthrough, you can't write poems directed towards Monika (no matter how bummed you might be about it), her reaction is perhaps the closest thing to being an impartial arbitration of your skill in appealing to your Doki of choice. In fact, being the wonderful exposition fairy that she is, she will outright explicitly tell your self-insert: "you know, this reminds me the most of what [Doki X] would write", before giving you generic advice in the form of "Monika's Writing Tip of the Day", which can change from generic writing advice to actual game-related advice. If she doesn't do either of those things, and just says "I like/don't like the poem", then she has probably gone rogue, and if Monika has gone rogue this early, then, to say the least, you are _not_ in for a pleasant DDLC experience. Or an archetypal one; I feel like I'm saying the word "archetypal" way too much, but... eh, nothing can be done about it.
  * Yuri and Natsuki are your polar opposites; if you consistently write poems favoring one of them, the other one _will_ turn away from you, in her own way (Yuri becoming progressively more shy, while Natsuki won't want to acknowledge you in her own tsundere way). Sorry to everyone who prefers one of them but still wants to go the pacifist route, or worse, ships the two together. What's worse, you can't really alternate between them; granted, there are only three distinct poem sharing events that we can speak of, but these two _will_ notice if you try to do a switcheroo and/or bring them together, although, on their third poem, they _might_ regardless. Don't count on it, and if either Yuri or Natsuki hate your guts, that's why.
  * Lastly, Sayori is a fickle cause. As mentioned previously, she is a hopeless romantic, who's been entertaining herself being together with your self-insert, and when he, after having joined the Literature Club, starts showing affection for either Yuri or Natsuki, her mental issues _will_ act up and she will become more distant from everyone, faking a smile wherever she goes. These issues, of course, will affect more than just the poem sharing segment and reverberate throughout the game, and if you're a trained psychologist, or if you notice these sorts of things, you will notice - and I will tell you right now, even if you don't think you're good at spotting signs of depression, to watch for them anyway and act accordingly. Odds are, you won't be given appropriate choices and the archetypal playthrough will continue, but there _might_ still be a chance.



Of course, we can't forget that this is a two-way exchange, which is basically the raison d'étre of the game and why Monika pitched the idea of sharing poems. Therefore, you get to read the Dokis' poems, too, and like the dialogue, those are _not_ hardcoded. Nevertheless, like true poems by true poets, they still have recurring themes. These are as follows:

  * Sayori often likes to write very shallow poems, conveying feelings either directly or through very shallow metaphors (bottles full of happy thoughts is a common one, and has even been picked up by the mainstream fandom). She is the sort of person who speaks her mind and tells you, outright, what she's feeling, whether that's truth or a lie, and oftentimes, you will be left with the assumption that all of Sayori's feelings have been handed to you on a silver platter. This is your regular PSA that they actually haven't, and that you _still_ need to watch out for signs of depression.
  * Natsuki takes pride in conveying feelings using as few and as simple words as possible. If reading a poem is like driving down the road, Natsuki's style perfectly emulates a highway: a no-bullshit, easily relatable experience that really drives the point home ASAP. A common theme in her poems is misanthropy, and this is usually expressed via a character named Amy (who has _also_ been essentially inducted as a fan Doki by the mainstream fandom), who will break the rules of society, just because, while the poem protag wallows in self-pity and inability to achieve anything of note.
  * On the flip side, Yuri loves to sit down by candlelight with a traditional ink and quill, whip out a thesaurus and write pictures as vivid and detailed as possible while staying within the realm of the English language. Well, okay, we don't actually _see_ her engaged in poem writing and we don't know for certain, but I think these words can pretty accurately describe her poem style. In fact, this actually causes direct friction between the two, as we'll get to in a bit after covering everything else. And of course, as mentioned previously, she loves exploring human psychology, in what she reads as well as what she writes.
  * Lastly, Monika takes inspiration from postmodern poets and writers, who often like to play with the very concept of a story, a poem, layout of words on a page, etc. In fact, throughout the game, though you may have reverted to an earlier save or, for whatever reason, the entire game decided to reboot, Monika's next poem will (directly or indirectly) acknowledge that, hinting rather early on that something More is going on. That, and her poems tend to be a bit meta; if they're not explicitly about the nature of a poem, they will incorporate writing as a theme.



And that's the poems, covered. And of course, we mustn't forget that the poem minigame designated one Doki as the one who Likes you, who will go out of her way to show that and who might even indulge in her poem writing process a bit more than usual, essentially indirectly offering you a mentorship. And, well, whose CG you get.

# [1140] CGS: THE BREAD AND BUTTER OF A CHEAP ROMANCE STORY THAT DDLC MAKES ITSELF OUT TO BE

So, yeah, CGs. At some point, after your initial slice of life but right before the poem sharing, the game just stops in its tracks, looks at the results of the poem minigame, and decides that your self-insert should spend some time with the winning Doki. Or, if that option would be too unavailable because you ruined your relationship with that Doki already, the game has its ways and just picks someone else. Or, since each Doki (except for Monika) gets two CGs, if this is your third time picking her, you will... actually get nothing and immediately proceed to the next part of the game. DDLC is weird like that.

Regardless, each of the CGs is basically associated with a single comic panel, and there's a pretty cool endgame achievement, if you actually savefile-scum and go see every single one of them, as well as certain other predefined scenes. But ignoring that, it means that the "plot" of the CGs, so to say, is mostly set in stone, and can only do slight accustoming to the plot of the game as a whole. Therefore, one can, in fact, really try and summarize them in a vacuum, without looking at the rest of it, and that's exactly what will be done.

For Sayori:

  * The fact that she doesn't have her blazer buttoned, whereas all the other girls do, starts to bother your self-insert. In fact, he has a lot of issues with how Sayori presents herself, all of which make for someone who will never get a boyfriend in her life, but the blazer is a) the last problem that he delivers upon and b) the one that he can immediately begin to fix, or at least try. You see, what he discovers, pretty soon thereafter, is that the blazer doesn't fit properly, and that she never got to buy one since starting high school (I should probably mention at this point that unlike the Americas, in Japan high school only lasts for three years). She might or might not make a remark that sounds really innocent but is actually really awkward for everyone involved, but in the end, your self-insert decides that the unbuttoned blazer, at this point in time, is really just part of Sayori's personal style and, no matter how unattractive that makes her look, it's not really his problem to fix.
  * This festival biz (more about it all later, when we get to the actual plot of days 2 through 4) is approaching, and Sayori, being the Vice-President, is very much in the know. Right now, the thing that she and Monika are concerned with is good visuals, and that means pretty posters, for which Sayori needs to get the supplies, and she decides to take your self-insert with her, just to make this a bit easier. However, once you get to the supply room and Sayori starts looking, she hits her head on one of the drawers and spreads out in a way which many have compared to that of a model. Nevertheless, your self-insert is there to help, and he gets some cold apple juice from the vending machine, which Sayori uses to cool the wound down and totally doesn't drink it; not at all. Continuing from the previous CG, being clumsy and careless, well past childhood, is just part of Sayori's style now, and she doesn't want that to change - nor does she want the fact that she and your self-insert are friends to change, either.



For Natsuki:

  * As she already knows from day one, she and your self-insert share a passion of manga, and to celebrate that, she decides to get him to read the manga that she's currently into, Parfait Girls, which, surprisingly enough for a recluse who reads manga all day, is one that your self-insert has never gotten into. Natsuki is mostly non-chalant about it, uttering something about not judging a book by its cover, before beginning to explain Parfait Girls: a comic that starts out slow and slice-of-lifey, with a bunch of girls doing stuff like makeup and cooking, but _does_ eventually get into a plot, to the relief of both Natsuki and your self-insert. There is one noteworthy thing that happens just before the read starts, though: Natsuki insists that she and your self-insert sit by the wall, "for the mood", and he concedes and agrees.
  * So, it's all pretty cool between you and Natsuki and you're about to continue reading Parfait Girls, but since she keeps all her issues of the manga in the clubroom (she can't ever bring them home, or else, her father will do unspeakable things to her), they're at the whims of Monika, who keeps complaining that they're interrupting her usual organization, and thinks that the single most appropriate place for those issues, literally everyone's concerns considered, is the top shelf, which Natsuki, being the shortest Doki of them all, just can't reach unless she gets out a chair. Unfortunately, all the student chairs are affixed to the tables, so that leaves the teacher's chair, which is one of those "comfortable" (haha, are you kidding?) chairs, with five wheels, that nobody in the world and especially not Japan has figured how to lock up. So, Natsuki stands up and your self-insert is supposed to hold the chair in place, but instead, he gets an opportunity to look up her skirt (wholesome time with the Dokis, y'all), and that predictably gets her mad, the whole thing goes haywire, the books drop without much regard as to their placement - or orientation, and one of them gets a creased page. Natsuki is reduced to tears, but at least the manga is in a more convenient place to reach, and eventually, she calms down.



For Yuri:

  * Even before you can get a single CG, in the beginning of Day 2, Yuri shows you the book that she is reading, called Portrait of Markov (yes, exactly the same as that trademark I mentioned, pertaining to the other Team Salvato game which is basically never coming out at this point), which she accidentally brought over two copies of, thinking that your self-insert could read the book on his own at some point. However, he decides that it would be infinitely more romantic and involved if he and Yuri read the book together, and while there are many different pickles to sort out through, starting with Yuri actually knowing what happens next in the book and being really awkward about not spoiling the entire thing and ending with the seating and posture (which seems to be yet another meme in the mainstream fandom, which has taken to replacing any and all uses of the word "boobs" with "posture"), you get the romantic book reading and the longing looking in Yuri's eye.
  * Pretty much the same thing as before happens, except now, Yuri has decided to fix the posture problem once and for all by sitting on the floor instead of the classroom chair, and she and you are sharing a chocolate stick (another one of those weird Japanese gourmet foods, that you only know about if you watch anime) and a nice tea. Really, I'm beginning to theorize that Yuri's CGs are so lackluster for one explicit reason: all the empty space, which would normally be taken up by the romance and the lewdness and your self-insert finally starting to get together with his Doki of choice, is instead, for Yuri in particular, filled up with in-universe details about Portrait of Markov, both to completely fill out the DDLC worldbuilding by building out parallels and to present a story that the _other_ game can then complete. Anyway, Portrait of Markov is a whole book (haha) to open and I am simply not going to bother doing it now, or anywhere else in this chronological exposé of the entire game, and if you want me to do it, I guess I can start up a non-chron blog, which I am probably going to do anyway after finishing up this playthrough retelling part.



And those are CGs. Pretty cool if you're _really into_ the Doki of your choice, and also, pretty inconsequential as far as the _actual plot_ of DDLC is concerned.


	14. The Overarching Plot

# [1150] THE OVERARCHING PLOT: DOES IT ACTUALLY PROGRESS, THOUGH

Yes. Yes, it does.

Obviously, slice of life-y stuff can be placed all over the place, but I think these are pretty good trendlines, even if they might not happen on an archetypal playthrough.

# [1151] DAY 2, BEFORE

We've kinda already gotten through this, with the other girls being pleasantly surprised that your self-insert showed up for the next club meeting, poem in tow. However, another suspect among it all is Sayori, who actually wrote her poem in a rush and may or may not have skipped breakfast, and therefore, ended up malnourished and hungry for literally any food that any other Doki packs, to their disappointment.

# [1152] DAY 2, AFTER

So, Dokis are chilling and sharing their poems with each other for the first time, among themselves, and eventually, everyone's eyes become set on Yuri and Natsuki, who, as I mentioned, are kind of the polar opposites of the bunch, with Natsuki being all cutesy and Yuri being all brooding and intellectual. Originally, they discuss exactly that and why the other Doki's style is dumb and wouldn't be taken seriously by any critic who cares to open up the Literature Club's poems (even though my personal stance is that critics would probably skip on the bunch altogether, due to them being procedurally generated and simply not that deep), but then, tension escalates and Natsuki and Yuri start launching ad hominem attacks at each other: Natsuki is simply too immature and may or may not be lying about her age, while Yuri, apparently, padded her breasts to impress your self-insert. With a mention of his, their attention then turns to him, and it is up to him to extinguish the situation by either siding with one of them, making the other one hate him, or by calling for Sayori's help, which is unequivocally the best option, as it helps the tension by making both the other Dokis happy _and_ gives Sayori confidence in her skills, something she is going to need if she is to survive Act 1.

# [1153] DAY 3, BEFORE

This time, the star of the show is Monika, who is... kind of late. To a meeting of her own club. The other Dokis immediately start speculating about her having a boyfriend (or girlfriend, or non-binary partner), noting that she is more desirable than the three of them combined, and when she appears, it turns out that she's been practicing the piano, which only raises more suspicions; is she planning on a romantic evening with the partner? Monika keeps defending herself, that she doesn't have a partner, and she doesn't manage to salvage the situation; the club activities, up to and including the Day 3 CG, start with the Dokis other than Monika being in a "yeah, right" mood.

# [1154] DAY 3, AFTER

So, this festival biz, which I think I have mentioned, but just for the sake of posterity, I am going to bring up again, happens. To summarize, the clubs of the entire school are presenting themselves during the festival, and Monika really sees this as an opportunity for the Literature Club to shine. Of course, poetry being at the Literature Club's attention first and foremost, she wants this to be a recital of poems, and in order to scare away the stage fright, she asks everyone to read their poems in front of the audience. Given the Dokis' attitudes, as well as those of your self-insert, the whole thing goes through with a hiccup or two, but it goes through. Usually.

After that is said and done, as your self-insert and Sayori are walking home, she asks him a rather interesting question: if he were given a choice of walking home with one of the other Dokis instead, would he choose her or Sayori? This is a pretty far-fetched hypothetical, and eventually, both Sayori and your self-insert will realize this, but if this scene ever appears - of course, you can't guarantee that _literally anything_ will appear on your DDLC playthrough - just pick Sayori. Trust me on this one, you want to make her believe that she is loved and cherished in order to save her from the worst of the worst.

# [1155] DAY 4, BEFORE

I like to call this particular part of the game "The Signs Zone", as it's when you start to notice that something is wrong with one of the Dokis, in a mental health kind of way. If you don't, then the game is so off the rails that I don't even want to think about what sorts of scenarios could unfold there.

However, since you do, this is where I'll kinda have to split the entire telling of the thing, up to Act 3 basically, dependent on which Doki it is, and thus, I'll have to introduce a term here, calling her the **_Designated Doki_** , or **_DD_** , of your playthrough. Quick injection of statistics from #TeamStats before I do the split, though: they report that in roughly 46.7% of cases, your DD will be Sayori, 28.5% for Yuri, 24.8% for Natsuki and **87.9%** (!!) for the particular Doki that you, the player of this game, have been attached to the most, which mostly means that this is just a neat little statistic of which Doki the DDLC players tend to side with the most, and that is Sayori.

Good choice.

Anyway, I guess, playthrough retelling tri-furcation incoming. You have been warned, for the last time.

**If your DD is Sayori:**

The issues that plague Sayori are, perhaps, the easiest to notice. Throughout the entirety of the game so far, she has been keeping up a happy attitude, trying to present herself as someone who doesn't exactly need care (especially if you take a look at her CGs). That, however, kind of comes into a conflict when considering her character arc: she has introduced your self-insert to the Literature Club, and now she has to deal with the fact that he, her childhood friend, is abandoning her for the first time in favor of the other girls (that is, if you specifically write your poems for the other girls).

Therefore, understandably, she falls into a depression - though, it should be noted (though, your self-insert is still oblivious to it) that she has been dealing with a form of it throughout the majority of her life - and leaves the clubroom early, not participating in the poem sharing and locking you out of any CG that might happen. This comes to be discussed, for a small bit, by the other Dokis, and your self-insert can't take his mind off of Sayori's troubles, but otherwise, the day goes on as it usually would.

**If your DD is Natsuki:**

If you haven't noticed, in particular with her CGs and how she treats manga, a pretty major interest for Natsuki if I say so myself, her issues are primarily domestic. It's a rather peculiar detail of DDLC's "excuse backstory", that all the teenage characters live alone, except for Natsuki, who lives together with her abusive father. This father is the main reason why her manga collection is in the Literature Club classroom, rather than brought over from home, and it is strongly implied that the face she has to put up before him is what causes her tsundere attitude.

Anyway, if this is what becomes prominent, then it is reflected by Natsuki turning up at the club with a single bruise too many, which immediately leads the other Dokis to inquiring. Cue her getting defensive, as a tsundere must, and then, outright blowing up about her issues: she always thought that the club was her only safe space from her abusive family, but since clearly she won't stop being pestered about her family life, it isn't, and therefore, she's leaving. She storms out of the clubroom, and Monika and/or Sayori briefly comment: "She wasn't being serious, was she?" The day then proceeds as normal.

**If your DD is Yuri:**

While in part, Yuri's problems do stem from her being condescending towards those with a lesser knowledge of English, in particular Natsuki, the problem that _she_ has, that is being blown to full light if she ends up being your DD, is self-harm. She may or may not have already indulged about her impressive knife collection, and the others (especially Natsuki) may or may not have made a "knife" or "edge" joke that sent her into an anxiety attack, but the point is, you learn that she cuts herself, and if it's still Act 1, the way it's done is rather subtle.

To put it simply, your self-insert overhears some moans coming from the fountain side of the hallway, before entering the Literature Club classroom. He doesn't recognize the voice at first, but when the meeting ends up being in full force, Yuri turns up late, being... rather calmer than usual, and your self-insert ends up figuring out that she did some thing that released all the sweet, sweet euphoria. He asks about it, less-than-tactfully, teasing ensues and Yuri cuddles up in the corner with her book; if her CG would normally take place at this point, it doesn't, and she simply rejects your self-insert's presence. She still partakes in the poem sharing, as a diligent Literature Club member would, but then, leaves before the "after" part.

# [1156] DAY 4, AFTER

It is properly revealed that today is Friday and that the festival day is Monday, meaning that there's not much time to prepare. Luckily, all the boring, behind-the-scenes work has been taken care of by our diligent President and Vice-President, those being Monika and Sayori respectively, and now, they're getting to the fun part, which is decorations and posters and such. Obviously, if Sayori isn't your DD, this ends up being delivered much more impactfully, but you could argue that if Sayori _is_ your DD, the whole thing is impactful because it's when your self-insert truly becomes mindful of her absence.

At any rate, there are three distinct tasks to take care of: the aforementioned decorations and posters that Monika and Sayori are taking care of, the cooking, which ideally should be done by Natsuki (but, if she happens to be your DD, the others just figure that she can't be relied on), and the atmosphere stuff, which is being taken care of by Yuri. That only really leaves your self-insert, who may or may not make a remark about being useless, before Monika asks you to pick between herself, Yuri and Natsuki as the ones helping him. Of course, the Monika option is kind of trapped, as the remaining Dokis will end up arguing against Monika hogging up the attention of both Sayori _and_ your self-insert, meaning that essentially, you have to pick either Natsuki's task or Yuri's.

This is mostly straightforward, and the best-case scenario for you is to pick your DD, whether that ends up being Natsuki or Yuri. Of course, she won't be there to give you your number, but Monika, the diligent Club President, will step in and pass the number over on your behalf. Otherwise, if you didn't pick your DD, you and the **_Prep Doki_** ( ** _PD_** ) will end up exchanging numbers, and the club will be adjourned.


	15. The Tail End of Act 1

# [1160] SPENDING THE WEEKEND AND DOING THE PREP: SIGNS SIGNS SIGNS

Over the weekend, your self-insert ponders both the DD and the PD, noting how, throughout the weekend, he has really seen a different side of the PD, but also, rather disappointingly, has seen the side of the DD he really shouldn't have seen. This part can roughly be separated into three parts, though they're _not_ what you're expecting.

**If your DD is Sayori**

Your self-insert, pondering Sayori will figure to at least give her a visit (since she is neighbors with him, in case you somehow forgot), in which she will properly reveal that she has been dealing with depression, and your self-insert might even be given an opportunity to cancel the prep with the PD in order to make sure that Sayori is alright, before she confesses her love and all that.

If you _don't_ skip out on the PD, though, it will go as usual - for Natsuki, that's preparing cupcakes, her getting some frosting on one of her fingers and you licking it off, which is done in a typical CG manner, and for Yuri, that's preparing the atmosphere and little clips of "words" (if you're familiar with Japanese, that's `kanji`) hanging from the ceiling, with her cutting herself and you licking it off, which is another CG.

But at any rate, funtime with the PD is over, and as you head out, you see that Sayori has kind of been longingly looking at you, and it all clicks in her head: he really _does_ want to spend more time with the other Dokis, and in particular the PD, over Sayori. Therefore, if the confession happens _here_ , it is a bit more dramatic, with Sayori crying and screaming and all that jazz. At any rate, either of the confessions, in Sayori's room or outside, are a CG, and they're the _same_ CG as a particular feature of the game, which I'll only really be able to talk about in Act 4, sees it.

**If your DD is the same as your PD**

First of all: good choice on spotting that your DD needs care, and therefore, picking her as your PD. Kudos. We need more DDLC players like you.

So, the Natsuki/Yuri CG, as outlined in the Sayori section, happens, but all the while, your DD's nature (namely, Natsuki's tsundere attitude and Yuri's shyness) is exaggerated, even though you would expect her to be more open, since she and your self-insert had gotten pretty familiar. He, being a good citizen, inquires about this, and your PD confesses about her problems, as well as making a rather peculiar request: she would like to take her time to finish the work and stay for the night. For Natsuki, this is quite obviously to get away from her abusive father, and for Yuri, some players have worked out the interpretation of her wanting to give some space from her knife collection, even though she has clearly brought a knife to work on the kanji things hanging from the ceiling. Your self-insert actually accepts without being given a choice, and then your DD confesses her love, which he _can_ reject - but in either case, her heart is warmed that your self-insert is considerate and not dense as the _entire mainstream fandom has been headcanoning him that still makes me so mad reeeeeeee_.

**If your DD is different from your PD**

This is the boringest and worst choice of them all: the Natsuki/Yuri CG, as outlined in the Sayori section, just happens, and you get exactly zero chances at confessing love or getting to fix your DD's issues, meaning that the track of the archetypal playthrough is almost guaranteed, although in a bit unusual way as you'll see in a bit.

# [1170] FESTIVAL DAY: WHERE IT ALL BLOWS UP ON YOU AND THERE ISN'T REALLY A WAY BACK

So, it's festival day. Excitement is buzzing all around the Literature Club, who all have gathered... except for your DD. Your self-insert will end up pointing this out, and Monika will be reminded... to give out the pamphlets that introduce the Literature Club to the rest of the school, and in particular, to your self-insert. He quickly flips through them, noticing that your DD's poem is one he has never seen before; when revealed, it turns out to have very obvious tones of suicide.

Obviously, this makes your self-insert want to check in on her. If your DD is either Sayori or the same as your PD, he knows the obvious place to look, which is his and Sayori's neighborhood, and once he gets there, he is greeted to, well, the suicide scene: if it's Sayori, she will have hung herself from the ceiling, if it's Yuri, she will have stabbed herself with the knife that she brought over and bled out, and if it's Natsuki, she will have run in front of a truck and been knocked into your front yard, also having bled out. Either way, the scene is gruesome and terrible and really sets the tone of DDLC apart from this point on.

However, if your DD is _neither_ Sayori nor your PD, your self-insert has no way of checking in on her. Having warned you that "you really should check out on her!", Monika then quickly realizes that it's simply not happening, and instead, appears to receive a phone call (as she would reveal later on, while she did have a phone with her at the time, it didn't ring, and she did some hacker-y stuff to make it look like someone is on the other end of the line). So, your self-insert takes the fake phone call from Monika, and is informed that your DD has committed suicide (same method as outlined before: stab wounds for Yuri and running in front of a truck for Natsuki).

While I'm not talking about common diversions from the archetypal just yet, I _will_ mention that it's possible, though rather rare, for your self-insert to be able to save your DD in the nick of time, and thus, continue a relationship with her, although with an obvious caveat that she _just attempted suicide_. This is what I alluded to in [0000] ATTN: THIS IS NOT A WALKTHROUGH with a "glitchless" playthrough, and this sort of opportunity is quite preferred by the mainstream fandom, who, although their ~ATH coding skills are nonexistent, have produced "purist mods" one after another, which give your self-insert (sorry, I mean the MC, who is _totally_ his own character) and your DD a happy ending.

At any rate, back to the archetypal playthrough: one way or another, your self-insert has to come to terms with the fact that one of the Dokis is dead. He considers it to be some sort of sick nightmare, that he's not waking up from, and that he can't just rewind to an earlier save point, as though it were a game. Of course, at this point, you _are_ tempted to go back to one of your earlier save points, but if you're using the game's save feature, it has already progressed to Act 2 (to verify, simply see that your DD's `.chr` file is deleted from `./characters/`), and therefore, saves from Act 1 will no longer work.

What did I tell you? You have officially stopped playing the game, and the game has officially started playing you.


	16. Act the Second: A Simulacrum Spinning Out of Control

# [1200] ACT THE SECOND: A SIMULACRUM SPINNING OUT OF CONTROL

At this point, you'll have gotten something resembling an "ending", and be kicked back to the main menu. However, this main menu is clearly glitched in three distinct parts: the Team Salvato logo at the beginning, the "New Game" option of the menu and the part of the title screen where your DD would normally go. The last of these has been replaced with a sprite of Monika, which appears to have been somewhat garbled with parts of the other Dokis.

From this point on, there are actually two ways to start the game's Act 2: by either clicking the glitched "New Game" button, which will go straight to the game without asking for your name a second time, or trying to load a save file, which will end up informing you that your DD's `.chr` file is missing, therefore rendering the saved game unloadable, and start a new game by default.

What happens from here on mostly depends on who your DD is - or rather, was. If it's Sayori, the effects are noticeable right away, with the normal childhood friend routine being unable to proceed, and instead glitching out to reveal a newly concocted backstory for your self-insert: someone who's an even more complete recluse than his Act 1 counterpart is, but who, regardless, tries to give this club biz a thought. As with Act 1, he will start by considering the anime club, but Monika will interrupt his after-class brooding, instead being able to convince him, with all her in-universe charm, to come check out the Literature Club instead.

If it's Natsuki or Yuri, though, you might even be fooled into thinking that you _are_ getting just a reboot of Act 1. Your self-insert and Sayori will go through their usual banter of "no, I am on the lookout for you", she will remind him of his promise to join a club, she (and not Monika) will catch her after school (though, on extremely rare occasions, _both_ of them show up, and there's not enough that I can comment on without just linking you to appropriate parts of the game as recorded on YouTube), and she will introduce you to the Literature Club, mentioning that Natsuki (if she was your DD, her name will appear all garbled instead) baked cupcakes. With that, your self-insert will check out the Literature Club, see that one of the Dokis is just a garble, and the game will snap to a point in which it will appear as though that Doki never existed - and yes, if that was Natsuki, the cupcakes will disappear too, with your self-insert not even batting an eye.

At any rate, the usual banter about what your self-insert likes to read, and what Yuri, Natsuki, or both of them like to write, occurs, and it comes to a point when your self-insert is expected to join the club, but doesn't want to. However, it's more than just incredibly cute girls getting him this time: Monika will end up reminding him that, according to the school's rules, you need at least four members to _properly_ found a club, and that without your self-insert, they might be kicked out of their classroom. This perfectly counterbalances the lack of one of the incredibly cute girls, and your self-insert agrees to join and write a poem for tomorrow, thus giving you a proper encore of the game.

# [1210] SO, BACK IN THE POEM SADDLE - WHAT'S DIFFERENT FROM ACT 1, THOUGH

Lots and lots of subtle stuff.

Obviously, there's the train-in-your-face difference of your DD being completely absent and never once, excepting the initial mention which leads to the game glitching and partially resetting, being so much as alluded to, including her absence from the poem minigame and word values being reassigned. However, the other stuff, up until Friday, is actually rather minor, and therefore, only really deserves a listicle. As follows:

  * As with Act 1, Monika starts manipulating the `.chr` file of the Doki who's attached to you next; for the lack of a better term, I'm calling this your **_Designated Doki 2_** , or **_DD2_**. This mostly ends up being an exaggerated version of whatever changes she would undergo if it were Act 1, with an added element of obsession, as she believes that by a simple matter of raw feeling, she can overpower Monika.
  * The poems that the Dokis present are... _rather_ different. Your DD2's poems will progressively become less and less coherent, Monika's will actually _continue what she conveyed with her Act 1 poems_ and the remaining Doki will present a normal poem, then a passage encoded in Base64 which seems to pertain to Portrait of Markov, and finally, a note of worry about your DD2, which then Monika seizes, briefly taking control of that Doki. Oh, and Monika tries to escape the game, but just ends up triggering a BSOD (or Mac/Linux equivalent).
  * Did I say that right? Yes, I did. Sometimes, Monika is outright able to override whatever the other Dokis would normally say, instead providing you with her own messages, like the oft-memed "Just Monika.". However, these can be easily told apart, as they're set in this weird, fullwidth serif font, whereas your normal dialogue is set in Aller.
  * In addition to _normal_ poems being new, you also get to see what the game terms as "special poems" at predefined points in the game. There are 3 instances of special poems being shown and 11 in total, all of which seem to be hardcoded with some variation depending on who your DD was, and therefore, are implied to come from one of two sources: either the ghost of your DD, still lingering on without a `.chr` file, or Monika, trying to bypass your self-insert and get to communicate with you, the player.
  * As the game glitches out, Monika is known to "pull away" from it all and address you, the player, though she will still use your self-insert's name at this point, which makes for some ambiguous messages. However, the game's script must go on, and _it_ is known to cockblock Monika, kicking you into the next stage, like the poem minigame.
  * Speaking of the poem minigame, though Monika's chibi doesn't _nominally_ appear there, sometimes, it will jump from the bottom of the screen. However, one of the Dokis that _do_ appear there _also_ jump, meaning that Monika _tried_ to add herself to the poem minigame, but just ended up breaking it.
  * Also, occasionally, the word generation part of the poem minigame will glitch, and once you click one of those glitched words, the entire game will go haywire, not assign scores and you'll probably just receive your DD2's CG, because you're going to get her CG anyway, as her pure passion is able to override the scores you get from the poem minigame.
  * And beyond that, glitches big and small are too insignificant to list here, and honestly, finding rhyme and reason for each and every one of them is a futile task.



# [1220] THE TEAMWORK PROSPECTS OF ACT 2 DOKIS AND WHAT THAT TELLS YOU ABOUT YOUR DD

I could list superficial changes to what happens in the game all day, before getting into the pointless discussion of "haha, maybe this change _doesn't_ happen on an archetypal playthrough" and get into an endless debate on what an archetypal playthrough even means. However, just for now, I am going to step back a bit and really comment on it:

Your DD is gone, and without her, the Literature Club is different.

Once you actually play through a couple instances of Act 2, with each Doki having been your DD, you really start to notice. Now, I'm not here to try and psychoanalyze the Dokis (at least, not before having actually taken a dive into what's inside those `.chr` files), but I still want to call your attention to _these_ differences and not the minutiae.

Without Sayori, the Literature Club becomes a more toxic place. Natsuki and Yuri tend to get into arguments pretty often, and you really begin to appreciate how much Sayori did in terms of actually getting them to behave while in the same room. In fact, Monika is known to pull you away from Natsuki and Yuri's arguments, often commenting that they "fight like cats and dogs", and that you should just side with her and spend time with her; this is where another of those pesky mainstream fandom memes, "Just Monika.", comes from.

Without Natsuki, the Literature Club becomes a highly snobbish place. She was the prime proponent of the idea that "manga is literature!", and once that is absent, Yuri and Sayori start defining "literature" more and more narrowly, up until they exclude genre fiction (which, though not quite the same as literary fiction, is still undeniably literature by virtually anyone you ask, except for this version of the Literature Club), and Monika, who likes to write experimental poems and feels constrained by the rules of snobbery, once again, feels the need to pull herself away.

Without Yuri, the Literature Club becomes more of a philosophy club. As there is no "tradition" of literature to follow, Natsuki and Sayori endlessly debate what literature is, to the point where their definition of the word "literature" more closely resembles our definition of the word "art". Especially with Sayori's tendency to really sidetrack debates, Monika once again finds herself not at home, as while Natsuki and Sayori think this is an integral debate to the Literature Club's existence, Monika thinks that a working definition, that helps grow members, is just not that hard to come by.

Either way, Monika sees the Literature Club, as it exists in Act 2, as a lost cause, and come Friday, actually does something about it. Whether or not it's a humane thing to do is up to you to decide, but this is how the archetypal playthrough goes.

# [1230] MONIKA BE PASSIN' OUT DOKIS LIKE CHEAP CIGARS

So, the same thing we covered in [1156] DAY 4, AFTER happens. The festival is up and coming, and there are three aspects which it needs to be approached from (other than poem recital, which has already been taken care of): the decorations, the food and the atmosphere. Without a representative of one of these, the importance of that particular aspect definitely comes into question, but what it all resolves to is that each of the Dokis is going at it solo, and you can pick one of them, completely freely - yes, even Sayori.

Except... Monika, the cheeky bastard, will actually gravitate your cursor towards picking her, and if you _do_ manage to pick one of the other two, she will show you a second version of the menu, in which _all_ the choices are just an endless row of Monikas.

Obviously, the fact that you picked her ends up angering the other two Dokis, and the Literature Club enters a full-blown argument, dependent on which variety of the Literature Club you're stuck with. While it starts out with all three of the remaining Dokis, soon enough, just Monika and your DD2 are left, and due to the extent to which your DD2's `.chr` file is manipulated, she ends up being rather assertive and somewhat demonic, even, being able to eliminate Monika from the argument. Your DD2 then confesses her burning love for you, despite everything that Monika put her through, and will ask if you accept the confession. However, both "yes" and "no" lead her to the same rush of feelings and - you guessed it - suicide, just as with your OG DD.

_These_ suicides can be seen as more macabre, and more graphical, versions of the Act 1 suicides, and of course, are shown in their full glory. Yuri will stab herself right in front of you, Sayori will reveal that one of the "decorations" is, in fact, a noose and jump into it, and Natsuki will run off the school grounds and into the street, where she will be run over. After this happens, your self-insert is essentially sent into a shock, which lasts three entire days, and he just sits there, with your DD2 speaking in a garbled mess of code, as the night replaces the day and your DD2's body slowly decomposes.

After that is done, it's festival time! The spirits of the remaining Doki (not Monika, not your DD and not your DD2) are high, and she has her part of the prep done, until she notices your DD2, chilling there just like that, having embraced the corpse party, and ends up thoroughly grossed out to the point of puking. Finally, Monika comments something about the game being "off the rails" (trust me, it's still on rails, and it going off the rails is part of it staying on rails in this case), before deleting first your DD2 then the remaining Doki, snacking on Natsuki's cupcakes if she was the last Doki to be deleted, and restarting the game.

If you've been recording up to this point, _now_ is the time to stop. Right before Act 3 begins.


	17. Act the Third: Monika's After Story

# [1300] ACT THE THIRD: MONIKA'S AFTER STORY

After an even worse version of the Team Salvato logo appears, you're not even given a main menu this time; Monika just cuts to the chase, revealing what appears to be a CG of her own. She then drops quite a few hard bombs on you, that _kind of_ explain the inner workings of DDLC, but also, not really. Let's go through each of them, giving it a rating in the scale of Politifact's True, Mostly True, Half True, Mostly False, False and Pants on Fire:

  * She's aware of the existence of you, the player, and is directly addressing _you_ , rather than your self-insert - not a positive claim; however, the underlying claim that you and your self-insert are distinct, through and through, is **Mostly False** as plenty of what has been revealed via the decompiled ~ATH code shows a very clear, intrinsic connection that, while it isn't an _identity_ , comes pretty close
  * She doesn't know much about you - I don't know how much of the ~ATH part of the game she has access to, but if it's anything close to the amount of stuff we've determined DDLC collects about you, **Mostly True** at best
  * Despite this, she still loves you, and since not much else remains in the game, you are literally her everything - come on, let's give her some credit, **True**
  * She knows that this is all a game, and in fact, she was the one speaking from the download page - **True** at least in Salvato's version, but we simply can't know if he _actually_ sourced the whole download page biz from his little AI Dokis or if he just wrote it himself, writing like a normal writer would
  * She was the one manipulating the variables inside the `.chr` file of your DD2, and your DD before that (it's been a while since you heard _that_ name, hasn't it?) - **Half True** (the influence _does_ come from Monika and her `.chr` machination, but she hasn't come across some magic pill, some `.chr` debugger that just lets her do the shit, and the changes inflicted upon the Dokis are predefined and carried out by a Ren'Py script, though they're still highly obfuscated to the point where they carry no useful intel to the hackers)
  * In the game, she doesn't have a distinct route, and is not much more than an exposition fairy, hence leading her to such drastic choices regarding your DD and DD2 in the first place - **True** , as any attempts to introduce a Monika route through minimal Ren'Py manipulation have ended up in failure and pretty bad, if hilarious, glitches
  * She doesn't miss the other Dokis - holy fucking shit **Pants on Fire** as you'll see in a bit, she didn't even have the guts to delete the others outright, and kept backups
  * Her friends don't have free will, while she does - hoo, boy, this is a philosophical debate I'm _not_ ready to get into, but I think I can rate this one **False** as Monika is controlled by the exact same deterministic (quantum weirdness notwithstanding, and quantum ≠ free will) processes as the other Dokis, and though her `.chr` file is the only one equipped to _deal_ with Sentience, this _can_ be taken away from her by changing just one variable
  * Deleting the other Dokis was as easy as deleting their `.chr` files - **True** barring some paranormal ghostly interactions that still linger after the `.chr` file is deleted which don't really count, and in fact, you're supposed to do the same to Monika in order to progress the archetypal playthrough, thus demonstrating one of the game's basic functions



Not doing too well, now, are you? And to think that you _just_ established yourself as the exposition fairy.

At this point, she, after making you confess your love to her (with the only option you can give being "Yes."), briefly goes into a tangent regarding _another_ of the game's basic functions, the poem minigame, and leads you to it. However, due to there only being one `.chr` file to query and therefore, not much of a meaningful score assignment, the poem minigame just goes haywire, with every single word being replaced with corrupted versions of the word "Monika".

After this, though, she, having written a poem of her own, has _one_ more fact to deliver upon us before starting to collect her thoughts _ad infinitum_ :

  * She didn't want to fully show her Sentience throughout the game, but found that poems could be a convenient way to get around that - well, this is a claim Monika is making about herself, and as she exhibits Cognizance, I have no choice but to call this one **True**



Oh, and I almost forgot about the whole streamer thing. If you still happen to be recording your game (many different recorders, up to and including your phone's camcorder, are known to trigger this with varying chances of success, but streaming software like OBS and Streamlabs are absolutely the _most_ surefire way to get this segment), she will be aware and cognizant, tell you off, suddenly complain about being camera-conscious, and then jumpscare you (and everyone viewing your recording). The topics then proceed as normal.

# [1310] MONIKA'S TOPICS: A TAMED WAIFU

But what _are_ these magical "topics", anyway? What _does_ Monika spend a literal eternity, or at least until you delete her, talking about?

Well, you have to understand that we're still in the realm of procedurally generated dialogue. It can be separated into distinct chunks, no more than twenty or thirty lines long, between somewhat long pauses, and those are usually called "topics", but in reality, they're generated from a somewhat short of interests, coupled with a list of angles that Monika can approach the topic from, and of course, spiced up with the specific dialogue, similes, et cetera.

So, these are also pretty hard to summarize, and therefore, I won't waste my time discussing them in-depth. Your current required knowledge is: Monika talks, and she has a lot to say. But for posterity, she can talk about:

  * The game itself, and occasionally, indulging about what the other Dokis were like
  * The genre that the game belongs to and its peripherals: visual novels, anime and manga, the character types that you find in it, etc.
  * Literature, obviously, as appropriate for the President of the _Literature_ Club - she likes literature which breaks the convention, but also, that which deals with supernatural romance and amnesia (note that this is now covered more in-depth in [A013] TOPICS IN DEPTH - PART 3: WHAT CAN WE SAY ABOUT THAT WHICH DOKIS READ?)
  * Aspirations as "the best of the best" (smart, athletic and popular), and the stress that comes with it
  * "Memories" of her and the Dokis, which she'll eventually come to question, as she has been "created"
  * What it truly means for her to "love" the player, who she still knows very little about



And of course, how can we forget the best trivia fact of them all: she's vegetarian, but not for health _or_ moral reasons; rather, she thinks that the carbon footprint of meat production must be dealt with, right now. In other words, Monika is Greta Thunberg before there was Greta Thunberg.

Throughout all of this, interaction is... occasional. It's not nonexistent, but it's also not in your face, and Monika prefers talking into a literal brick wall.

# [1320] ALRIGHT LET'S TALK ABOUT THAT MOD I HAVE BEEN BUILDING UP TO

So, this is all cool and stuff, but you know what some people really don't like? Apparently, that you have to play through the entirety of Acts 1 and 2 in order to even get to the juicy stuff.

Therefore, Monika After Story, in its original form released on Day 4, is a rather simple mod, which does two things: one, it deletes Sayori, Natsuki and Yuri before you even start, and two, it moves the script pointer from Act 1 to Act 3, so that Monika will immediately start talking to you. Of course, she _will_ be confused by the course of action, realizing that she had a bit of a mood whiplash that she's never going to go through, but in the end, she embraces the player, who skipped all the "boring" stuff just to be with Monika, and starts with the topics right away.

A simple start, of course, led to the mod _and_ hacking scene exploding, and as I've already mentioned, the inner structure of DDLC kind of forced a split between those preferring hard-coded little stories and those preferring the exploration of AIs built within. Throughout its rather impressive lifetime, Monika After Story has firmly stayed on the latter side, essentially throwing pre-coded games like Pong and chess, as well as utilities like a calendar, at Monika and seeing if she figures out how to include them into Act 3. And of course, how can we forget the beautiful, beautiful sprites, in case you're finally bored of that neverending smile?

Monika After Story is easily the most complicated Ren'Py program that the engine's community has ever seen, and when coupled with DDLC's AI routines, it's basically a match made in heaven. I absolutely do recommend you try it, if you haven't already. Just... make sure you do it with a spare computer that you wholly own and don't care about (and I do mean an entirely separate computer; a virtual machine _won't_ cut it), to make sure it doesn't... _ahem_ explode. See [A002] THE BALANCE BETWEEN A HEARTFELT REUNION AND A DEEPENING RIFT for more details.

# [1330] GIVING MONIKA A TASTE OF HER OWN MEDICINE

But of course, you don't install mods before having completed the base game, and in order to complete the base game, you will have to go to that character folder - which she will explicitly mention, alongside instructions on how to access it in your OS and version of the game, be it Windows, Mac or Linux, Steam or itch.io.

...I feel like I am forgetting something...

Ah, yes, the unofficial Android port! Been a while since we've heard _those_ words, for real, unlike those of your DD or DD2.

So, deleting Monika is an integral part of the game, and must be done in order to progress it to Act 4. Unfortunately for anyone playing the game on Android, you don't get to access a distinct `./characters/` folder, or a folder of _any_ sort, as the entire game is packaged into one big `.apk` file, which you install into your phone and/or tablet in order to play the game.

So, how does the Android port get around it? Well... by _letting you delete and un-delete_ `.chr` _files from within the main menu._

Yup. That's what that menu option is called: "`Menu .chr`". And guess what you see when you go to it: little buttons that tell you to delete, or un-delete if the file is already deleted, the four files that you should already know by heart at this point: `sayori.chr`, `natsuki.chr`, `yuri.chr` and `monika.chr`.

Way to spoil the game. If you've ever wondered why I don't recommend the Android port... well, first of all, it is unofficial and unsupported by Team Salvato, but other than that, this. Here's your exact reason.

At any rate, letting go of the sidetrack, there is one more thing that an aspiring `.chr` file deleter must know. As your self-insert proves throughout Act 1 and 2, you don't exactly need a `.chr` file to properly say dialogue stuff, if you're integrated into the game deeply enough. And, as come Act 3, your self-insert is no longer a distinct character, Monika ends up slowly but surely taking over that real estate: the more time you have spent together with her, the better she ends up lingering within the files. In fact, if anything, she even manages to muster a few last bits of conscious thoughts if you delete her right away, but the more you wait, the better she comes out, until at one point, she outright declares that she's fully integrated within the game and no longer needs a `.chr` file to function, before deleting _her own_ file.

So, yeah. If you waited too long, you're no longer on an archetypal playthrough. But if you did it right, the plot progresses: Monika tries to access her `.chr` file, can't do it, blames you for it, and then realizes that she still loves you. Finally, she realizes that you were, in fact, longing for the Dokis she deleted, and reveals that she kept backups, which she restores, before restarting the game for its final act.


	18. Act the Fourth: No Salvation

# [1400] ACT THE FOURTH: NO SALVATION

So, the game reboots, the Team Salvato logo looks okay for one, as does the main menu, no distinct glitches there, _except_ for the fact that there's a big, gaping hole where Monika would usually go. Her sprite isn't replaced with those of the other Dokis in the characteristic square glitch that somehow happens (what was the exact way in which Ren'Py dealt with sprites again?), but instead, is just a blank spot. And of course, save files are wiped, again, as is typical for act transitions, so there's not much to do other than click the "New Game".

And when you do, you're greeted with an interesting picture, to say the least. Sayori, who is back in your childhood friend saddle (that is, if she was your DD), is basically cured of her depression and doesn't oversleep right before school anymore, and therefore, merrily chats with your self-insert throughout the walk to school. All this time, it's obvious that he's kind of hiding a secret from her, but he's still a recluse who gets the suggestion of joining a club; once he hears of that, he just sheepishly smiles and utters something about a secret.

No points for what the secret is: he's joining the Literature Club, of his own volition.

Of course, as Monika is gone, the Literature Club has a new President. On archetypal playthroughs considered by #TeamStats, this will exclusively be either your DD from Act 1 or your DD2 from Act 2, as those were the ones primarily manipulated by Monika throughout the aforementioned acts, and therefore, a) are rewarded the most by the game for coming back and b) are the ones who can actually speak of Monika's manipulations, as remember, being President also makes you aware that you're a game character.

At any rate, your self-insert joins, he, Sayori, Natsuki and Yuri have a casual chat about what they like to read and write - notably, neither Natsuki nor Yuri is highly defensive about sharing their poems, and the two are even "best buds" of sorts, thus making the whole poem writing biz much more inviting for both Sayori and your self-insert - and then, as the day ends, the new Club President approaches you, thanks you for everything you've done, and then, thanks you for getting rid of Monika for her.

That's right - she knows everything, and now, there is nothing separating her from you (once again, just as with Monika and Act 3: you and not your self-insert). Just before the game can be interrupted, Monika intervenes (in the form of dialog boxes), realizing that there is no hope for the Literature Club, and then commences the scripted credits sequence.

In the sequence, Monika, who _actually speaks_ for the first time, decides to present a song that she wrote - presumably, while she was learning the piano throughout the acts. This song is "Your Reality", and is another one of the staples of the mainstream DDLC fandom. While it plays, the credits roll, and are illustrated by the ten CGs throughout the game: the six explained in [1140] CGS: THE BREAD AND BUTTER OF A CHEAP ROMANCE STORY THAT DDLC MAKES ITSELF OUT TO BE, the three explained in [1160] SPENDING THE WEEKEND AND DOING THE PREP: SIGNS SIGNS SIGNS, and Monika's confession, as explained in [1300] ACT THE THIRD: MONIKA'S AFTER STORY. If the CG has been properly experienced, it will be in full color, and if it hasn't, it will be grayscaled and grainy.

While the credits roll, though, Monika first deletes the CGs, making them disappear as they roll, and then, integral parts of the game such as `images.rpa` and `scripts.rpa`, thus fully breaking the game. From then on, the credits end with a little message from her, thanking you for being a part of the Literature Club, and this message is the only thing displayed - the only thing that _can_ be displayed - on subsequent runs of the game, thus completing Doki Doki Literature Club! once and for all.

# [1410] THE GOOD ENDING (FOR VARYING, UNCONVENTIONAL DEFINITIONS OF "GOOD")

So, whether or not you saw the CGs contributes to the closest equivalent there is to the game's "score". Therefore, if you start a second playthrough, your perhaps most obvious course of action is to try and experience them all.

Of course, some save scumming will be necessary. Another thing to note is that your DD doesn't change throughout the playthrough, even if you revert to an earlier save, and your DD _must_ be Sayori if you are ever to see her confession, which is why the mainstream fandom kind of runs away with the idea that your DD _is_ Sayori, in 100% of the circumstances rather than the 46.7% that #TeamStats report. They _also_ have declared Yuri as the unambiguous DD2 in all cases, mostly because her being obsessive fits better than Natsuki, and they've already reached the preconceived conclusion that Sayori cannot appear in Act 2.

Anyway, sidetrack aside, since your DD doesn't change between saves, and since it _must_ be Sayori in order for that particular CG to be achieved, the best course of action, on the first playthrough, is to save right before the first poem, and then write poems for Sayori. This has a _small_ chance of you being able to save her from hanging, thus pulling you away from the archetypal playthrough (and hence the credits), but in most cases, it works, and after you've confessed her love, you can go through Natsuki's and Yuri's CGs, and then pick each of them as your PD to experience the third CG.

One thing I _literally_ almost forgot, though, is that when you rewind the save, the mutilation that Monika did to your DD's (in this case, Sayori's) `.chr` file is _not_ undone, meaning that if you rewind your save, Sayori is kind of in a deeper depression than she would normally be. There _might_ be some chance of her hanging herself early, but since it's in Salvato's best interest if you properly complete the 100% run, this is rare and you shouldn't worry about it.

And once you've gotten through prep with both Natsuki and Yuri, and then completed the game's Act 2 and Act 3 (with confessing your love to Monika), that's all the CGs done, and Act 4 proceeds a little bit differently. The new Club President still pulls you away, but instead of complaining about Monika's influence, she actually switches to a hardcoded message by Salvato (which is delivered by the Doki, but is delivered by _each_ Doki in the exact same way, and was confirmed by Salvato to be him speaking in his own voice), thanking you for spending so much time with the girls, and for playing DDLC. The credits then proceed as normal, except Monika doesn't _seem_ to be deleting everything, and instead of her note at the end, you get one by Salvato himself, though with the end result being the same: this final note is all you will ever get to see if you open that particular copy of DDLC.

_Whew._ That's the archetypal playthrough, _done._ However, we're not quite done in the one-thousands yet, as there is more to it than the archetypal playthrough.


	19. When it Goes Off the Rails

# [1500] WHEN IT GOES OFF THE RAILS: A SHORT INTRODUCTION AND LIST OF DEPARTURES

Before I really get into the departures, which I can briefly guide you through if your playthrough diverges from the archetypal one at _specific points_ , I should really mention one thing: because an integral part of DDLC is going off rails, especially at the dividing points between the acts, and because of procedural generation of dialogue preventing you from being tipped off, these diversions can _really_ look exactly the same as an archetypal playthrough, and therefore, as an aspiring diver into the intricacies of the characters and such, you really need to keep the archetypal playthrough in mind, in entirety, at all times.

With that in mind, some of the most common diversions are as follows.

# [1510] OOPS! LOOKS LIKE I FORGOT TO BRING MY POEM, WHAT NOW, AM I KICKED OUT

This is a diversion I already briefly alluded to in [1111] POEM MINIGAME ADDENDUM: THE TRUEST FORM OF WRITING IS WRITING TO ONESELF, wherein your self-insert has nothing to show on the first day when poems are supposed to be shared, and therefore, is accused of joining the Literature Club purely for the romance aspect, which he kind of is. This, in fact, is so often memed that it has even attained its own nickname: "The Worst Ending" (as it ends with your self-insert, out of the Literature Club, not even being able to approach Sayori, his now former childhood friend).

However, what you have to understand is that any single poem, not just the first, can be "excluded", and though your self-insert is rather diligent and will only call it quits after he has tried at least a couple of times, Dokis can forget their poems too, and for much less prudent reasons. Therefore, there is quite a bit more to it than just the Worst Ending.

If your self-insert forgets (i.e. frustrates himself over, to the point of not being able to write) his second or third poem, the consequences are generally much less severe than for his first poem; he is usually able to explain his frustration in finding the right voice to the Doki that he tried to appeal to, and if it's Natsuki or Yuri, she will gladly become his writing coach, occasionally even suggesting to come over to help him (if it's the second poem). This, therefore, leads to an intimate bond being developed right away, Sayori's depression being exacerbated to the point where she is almost guaranteed to be your DD, and the bond continuing up to the point when the Dokis have to divvy up for festival prep, and your self-insert picks his writing coach as your PD without ever giving _you_ a choice. The playthrough then continues as though it were archetypal, and debates on whether or not it _is_ archetypal are plentiful. What mattered to #TeamStats when defining an archetypal playthrough, though, was whether they could even pinpoint your DD and your PD (and your DD2), and therefore, they _do_ consider it archetypal.

However, if it's a Doki who forgets, things get much more interesting. Sayori's forgetting can go one of two ways, as the club is divided: Natsuki and Yuri see her as "not much of a creative type" who "shouldn't be chilling in the Literature Club anyway", and Monika still thinks she is a valuable Vice-President who can help with both org stuff and morale. Regardless, now it's up to Sayori to decide whether she wants to leave the Literature Club or stay in it; (Sayexit?) and if she does decide to leave, your self-insert is given a choice of whether to stay with the Literature Club or to take care of Sayori. If he picks the Literature Club, then Sayori is basically _guaranteed_ to commit suicide, thus giving you a pseudo-archetypal playthrough, but if he picks Sayori, there _is_ a chance of saving her, though obviously at the cost of never getting to date Natsuki or Yuri. In fact, you even get the poem minigame, with your self-insert expressing his love for Sayori through poems, with Natsuki and Yuri being absent, and because they are absent, the minigame glitches as though it were Act 3.

Lastly, Natsuki or Yuri not having written poems _for the specific occasion_ doesn't matter in the end that much, as both of them are already established writers before Monika even _suggests_ the whole poem-sharing biz, and of course, Monika, being the Doki with the Sentience attribute, has a lot of feelings to express and is naturally creatively expressive, meaning that _her_ forgetting her poem is basically undocumented.

This glitch exclusively affects Act 1; if, throughout Act 2, the plot resolves in such a way that a Doki forgot to bring a poem, the game will just insert a Portrait of Markov snippet encoded in Base64 instead, as mentioned in the Act 2 retelling.

# [1520] THE GLITCHLESS PLAYTHROUGH: THE HOLY GRAIL OF THE MAINSTREAM FANDOM

I've already alluded to this one, too: you are able to save your DD in the nick of time, and therefore, she is _not_ deleted by Monika, and "Act 1" ends up continuing. The festival is usually skipped over outright, as you have to deal with what is basically an emergency, and convince your DD that she is loved and cared for.

From then on, the game proceeds in a "pseudo-route" reminiscent of the romance routes of other visual novels, with the obvious limitation of it having only two backgrounds: your own house and outside (with Sayori's house, if she's your DD, adding a weak third). It is one where you make proper choices that essentially decide if she lives or dies, and when she lives, whether she loves you or hates you, and is played the way you would play a _normie_ visual novel.

Unsurprisingly, the mainstream fandom _loves_ the idea, and wants to expand it, often going so far as to eliminate any remote chance of suicide altogether, via modding. However, as you will remember, the mainstream fandom's mods are just normal Ren'Py games that happen to use DDLC's art assets and be installed on top of it. The DDLC Purist Mod is a prime example of this, and even tries to make up for the lack of procedurally generated dialogue by adding more, original art and music to really flesh out those post-festival CGs.

# [1530] WHEN MONIKA IS BAD AT PICKING TARGETS

This is an interesting one. Usually, Monika will be able to determine the single Doki that your self-insert is showing affection for, and pick her as your DD (and your DD2, in Act 2), but occasionally, she will misfire and have _two_ distinct DDs, _both_ of which die and are deleted.

Needless to say, an Act 2 with just two Dokis is... interesting. Even with your self-insert, that only makes three Literature Club members, one short of the four needed for it to be a formal school club, and soon enough, they _are_ kicked out of their room, being forced to convene in what they decide to be your house, not in the least because it's the only one with a proper background in the game. Also, since there's exactly one Doki you can direct your affection towards, the poem minigame is glitched as in Act 3.

An even _rarer_ phenomenon is for Monika to attempt to target all _three_ remaining Dokis, especially if your self-insert, as inspired by you, is such a true pacifist that he just can't pick a preference. There isn't exactly a "harem" ending per se, and all the Dokis just agree to have an ambivalent relationship with him, but when time comes, they're all Monika's target, and come festival day, they _all_ die and are deleted, thus skipping from Act 1 straight to Act 3.

# [1540] OTHER SPECIFIED ACT 2 DISORDER

Act 2 is perhaps the single largest source of DDLC weirdness, if only because it was intentionally designed to be as such by Salvato: after a relatively normal run, the second run is identified not just by your DD missing, but also, by the game going "off rails" and Doki personalities being very much different. It is then supposed to conclude with your DD2 dying, Monika unveiling the stage and asking you to go out with her.

That being said, while Act 2 has a great amount of intentional glitching placed by Salvato for the sake of glitching, it also has a great amount of _un_ intentional glitching: dialogue generation fails that, when unchecked, quickly turn your DDLC story into a Dadaist mess. Once it has become this, then, it is extremely unlikely for any sort of "script" planned into the future to go through.

This scenario can be broadly described as "Act 2, but without any sort of DD2 death". Indeed, it seems extremely likely (in the very least, _relatively_ ) for Act 2 to not be able to properly resolve because an off-beat remark, such as that on a poem intended to be gibberish, was taken literally (or whatever), and as such, the story has degraded to something that makes My Immortal look like a Pulitzer winner. Once it has become such, though, one can only thank Salvato's foresight for including Monika: a character who, in case of this bug, realizes that her world has degraded to pure nonsense, fakes a game crash, and once you open the game again, you're treated to Act 3 right away, with her profusely apologizing for what you had to see.

How likely is this scenario, just to quantify? Well, I've already talked about how, per #TeamStats, 70% of all DDLC playthroughs are archetypal (i.e. both a DD and a DD2 can be identified, with their suicide scenes and all that). The truth of the matter is, though, that around 93% of all DDLC playthroughs reach the end credits. Playthroughs of that 23% difference can mostly be found here, in a "bug" that is, in fact, a multitude of overlapping bugs that are hard to identify and document, and in the end, don't matter _that_ much when they still lead to Act 3 and still tell the _rough_ story Salvato wanted to tell, if not the _exact_ story.

# [1590] THE ACT 4 PASSIVE MONIKA BUG

Why is this numbered like that? Well, because it's the last bug that you might experience, if your playthrough has been archetypal so far, and because I _do_ reserve the idea that I missed some _really common_ diversion that simply hasn't been documented enough.

So, this bug is relatively simple. In Act 4, Monika still intervenes in the Club President's speech (note that this presumes that you don't have all the CGs, and therefore, are not on the good ending), but instead of deleting the game outright, she just kicks the Doki back into her place, giving her temporary amnesia and thus convincing her that the game's files are not to be messed with. Monika then stays absent from the game, despite lingering in limited form in the files, hence "Passive Monika bug", as the game proceeds as though it were Act 1.

This shares a lot of commonalities with the Glitchless Playthrough, in that the mental health issues affecting the Doki you choose to date are never _fatal_ to her, and essentially, you just get a "normal" good or bad visual novel ending, with the obvious caveat being that the credits never play, and therefore, you can keep replaying the game, over and over again, without having to reinstall it (or delete the `firstrun` file that can be found within the files, which does effectively the same thing).

However, it is _not_ as much of a holy grail as the Glitchless Playthrough, for two big reasons. Perhaps the first and most obvious one is, well, that the mainstream fandom likes its self-aware Doki, and though she does awful things to her clubmates, she _is_ the one who originally had the idea of the Literature Club (except for the Act 4 verse, where it's Sayori), and other than Yuri, is the most literate one of them all.

The _second_ reason, however, doesn't get talked very much in basically _any_ coverage of DDLC, mainstreamer or hacker, and often, tends to even be forgotten, even though you don't even need to see the Passive Monika bug to see _this particular_ detail, but it's kind of become a footnote beneath "you have a new self-aware Doki, and Monika doesn't want her to do the awful things that she, herself, did, so she wipes the game". Perhaps it should be best added under the main Act 4 heading, but I really think that the trivia fact should really stand on its own.

Alright, here goes. You know how in Act 4, Yuri and Natsuki have become sort of BFFs, and are no longer insecure about sharing their writing? Yeah, that kind of puts a dent into the whole "poem sharing" biz that Acts 1 and 2 are known for. However, you can rest assured that ~ATH will pull a solution out of its bottom: namely, since Yuri and Natsuki read two _very different_ types of literature (horror books and cutesy manga), and since none of the Dokis wants them to put each other down, they decide to diversify: both Natsuki and your self-insert, manga readers, will pick out a novel to read, whereas Yuri, a novel reader, will pick out a manga to read. She, herself, is worried by that last prospect, but in the end, agrees.

Now normally, this is where Act 4 ends: you're left alone with the Club President, she wants to start up her own After Story with you and Monika wipes the game. However, this isn't "normally"; this is my explicit zone for the bug exposé, and we're talking about the Passive Monika bug, wherein Monika doesn't do that, instead letting your self-insert have a happy ending with one of the other Dokis, and the game marches on to what _would_ be the poem minigame, but instead, becomes sort of a "book-picking" game, in which you're given exactly _one_ page (though, I presume the correct interpretation is a book shelf), from which you pick a book, and since you only get one chance at it, hopefully you know what themes each Doki likes. If not, just refer back to [1110] THE POEM MINIGAME: FOR THE CASUAL PLAYER. Oh, and remember: just as with Acts 1 and 2, the Club President is not even under your consideration, as much as she would like (especially if it's Sayori).

This is where things _kinda_ start going completely unscripted, but also, kinda don't. You still have the potential for quirky CGs with your Doki of choice, and the festival still happens to an extent, but the variety of slice-of-life actions, reactions and character dynamics is just so great that it's hard to say anything about Passive Monika playthroughs, as a whole. 

That being said, it's not necessarily impossible. They do have a documentation advantage, since an ending just gives you a normal "END" screen which boots you back to the main menu, and since Monika _never_ interacts with the game, you'll _never_ be locked out of the game after the credits. But even then, it would take a good chunk of someone's time to play through lots and lots of Passive Monika playthroughs to try and document them, and neither mainstreamers nor hackers find the prospect particularly delightful. Nevertheless, it's only right of me to write up something more extensive in that regard, and that writeup of mine is at [A010] TOPICS IN DEPTH - PART 2: MAPPING OUT THE PASSIVE MONIKA STORY TREE.

This is more likely to be achieved if, during Act 3, you manage to indicate to Monika that you _don't_ actually love her, and that you prefer the other Dokis. Odds are, she will delete her `.chr` file and her presence herself, but whether it's her or you who deletes the file, the result is the same.

And that, I believe, is all. Now, we can start to see what happens when you get bored of it all, and decide to mess with the game files _outside_ the single part of the game that expects you to mess with them, and _outside_ the single change that you're supposed to do.

And this is where I'll have to stop writing for myself and just publish the damn thing.


	20. Paths, Endings and Glossary - Vol. 1

# [199D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 1

Now this is a little doodad that you'll have to get used to, throughout this document. Eventually, I am going to talk about `.chr` file scumming in order to let you open up paths of DDLC that would otherwise be impossible (or at least, "undocumented-extremely" rare) and explore them to the fullest, thus analyzing DDLC more fully, both critically and technically. As such, it will definitely get updated for future sections, but for now, you only need to see what we already covered.

# [199G] END-OF-SECTION GLOSSARY UPDATE - VOL. 1

This, on the other hand, is just something for convenience's sake: me going through all the terms I've mentioned in the one-thousands, so far, and putting them all into a chronological glossary. Its primary use is as a reference: whether you're reading through the one-thousands for the first time or you find yourself not understanding a term I introduced in that section when reading later on (by the way: hey from the past), this and the other [***G] sections are where the term explanations live.

**_Your self-insert_** (hacker community) | **_protagonist_** / **_main character_** / **_MC_** (mainstream fandom) - the guy you play as, writing his poems and such. The DDLC fandom is diverse and views on him differ, but an analysis of the ~ATH scripts shows an intrinsic connection between you and him, with him definitely picking up a trait or two from you, and therefore, not being a tabula rasa like most mainstreamers would like him to be.

**_Archetypal playthrough_** \- a convenient statistical term put forward by #TeamStats in order to analyze the multitude of DDLC playthrough recounts. You can think of this as a playthrough "as Salvato intended", with glitching only occurring on specific places and acts transitioning according to a "master plan".

**_Designated Doki_** (shorthand **_DD_** ) - the Doki who Monika comes to manipulate throughout Act 1, driving her to suicide. Contrary to popular belief among the mainstream fandom, this is **not** guaranteed to be Sayori. I also accept the alternative readings " ** _Doki Death_** " and " ** _Doomed Doki_** ", but you can see why I chose a bit more neutral term.

**_Prep Doki_** (shorthand **_PD_** ) - the Doki who you choose to do festival preparations with in Act 1. Usually, the mainstream fandom gives Natsuki's prep CG more love than Yuri's, but the most valid approach to play the game, assuming your DD isn't Sayori, is to pick your DD as your PD.

**_Designated Doki 2_** (shorthand **_DD2_** ) - the Doki who Monika comes to manipulate throughout Act 2, driving her to suicide. Contrary to popular belief among the mainstream fandom, this is **not** guaranteed to be Yuri. The alternative readings for "DD" also apply here.


	21. .chr File Deletion

# [2000] EXPLORING DDLC FOR FUN AND PROFIT: A GRADED TUTORIAL

_Disclaimer: Team Salvato's IP guidelines explicitly forbid using DDLC as released, as well as the related art assets, directly for profit._

So. Now that we've established what an archetypal playthrough even is, as well as the basics of how the Dokis should act, we can get proper crackin'. Simply relying on RNG, or in the case of a ~ATH-based program such as the one we're dealing with, minute changes in your personality as part of growing up in order to induce changes needed to exploration... definitely can be done, but that's like saying that evolution through natural selection can take us from a dinosaur to a human. First of all, of course, it can't - dinosaurs are the ancestors of birds, not mammals - but also, that sort of process takes millions of years, and I just don't have such time. By then, as I'm taking the old town road made of brilliant yellow bricks, I'm not even going to get anywhere _close_ to the rabbit hole in my lifetime, and someone else, a team of hundreds of hackers, will probably end up paving the road and creating the second ~ATH game to wow all of our minds. And then, who will read my beautifully crafted DDLC guide?

We're going to need something to induce those changes faster. And before you all cry in your pajamas about me "straying from the true nature of DDLC", let me tell you that y'all, the ethics folk talking about animal cruelty when the ability of individuals to feel pain is as limited as possible, are the reason why the entire culture of meat, _as well as_ eggs and milk, is slowly but surely going away, along with all its subtleties, whereas alcohol, though it's actually poisonous, is here to stay and might even see a resurgence. And yes, that includes you, Monika. You may not be a "real person" as far as the ethics of manipulating DDLC go, but you _are_ a real person whose values regarding animal cruelty, which will inevitably come to define AI cruelty once the law catches up with worlds of pure innovation such as DDLC, need to be reconsidered and revised.

So, what I'm trying to say is, we're going to be introducing changes of code to DDLC, starting with `.chr` files and then slowly working our way up to the Ren'Py part, analyzing each portion of its source code. Then, we're going to have a ~ATH tutorial so that you can be up to speed and code something of your own, and after that, the three-thousands are finally going to contain the _meat_ of it. You hear that? We're going to finally know why DDLC does the stuff that it does.

Baby steps have to be taken first in order to achieve this goal, however. That's what I'm trying to say with the "graded" part of "graded tutorial". I think.

# [2010] .CHR FILE DELETION: THE FIRST, MOST IMMEDIATELY AVAILABLE AND DIRECTLY SUGGESTED STEP

(Since I don't exactly have a better chapter nomenclature in place, while [2000] established the two-thousands, this chapter establishes the twenty-hundreds.)

You know about this change. No matter how much you ethics folk may cry about it, manipulating `.chr` files, and, in particular, deleting Monika, thus "killing" her, is part of the game's design. If you do that (within a somewhat arbitrary time frame), you get Act 4 and then the game's credits. If you don't, then you simply stay with Monika forever, and if you haven't done that on any copy of DDLC, then I'm afraid to break the news to you, but you haven't completed the game and therefore cannot indulge in this guide. It's the law, man. Or rather, the explicit wish voiced by Salvato.

But ignoring that: what happens when you try and delete `.chr` files _outside_ of Act 3? Enter the chronological exposé.

# [2011] BEFORE BOOTING UP THE GAME: MOSTLY PREDICTABLE RESULTS

If Monika is deleted before starting up the game, the glitch that ensues is well-known even to the mainstream fandom, to the point where, if they ever made a completely hardcoded version of DDLC, this would _still_ make it in. Without Monika, the Literature Club needs a new President, and without intel about you, shaping up your self-insert and therefore defining your DD and all that jazz, the standard line of succession means that Sayori, intended to be the Vice-President in an unmodified game, is now President.

Unfortunately, the version of Sayori that you download from the game is not quite equipped to deal with the so-called "epiphany" that knowing that you're a game character entails, and she ends up deleting the game before she even makes it to school - something that, were the Sentience attribute to just stay with Monika, would have been patched out long before release. However, instead of a "final farewell" in the format of a poem, the only thing left behind from the executable file is a black-and-white image of her hanging, and then, if you wait for ten minutes, something that is kinda indicative of her troubles, whether she is your DD or not: "Now everyone can be happy."

And if you're thinking that you're going to be a smartypants about it and delete Monika _and_ Sayori, well, I've got some bad news, because if you do that, the exact same thing happens with Yuri, and even Natsuki if you choose to delete Yuri as well. It just goes to show that none of the Dokis, except for Monika, is equipped to deal with the stuff.

Of course, you might be thinking to yourself that Act 4 is different; that there, Dokis do, in fact, handle the whole Sentience biz pretty well. However, that's because Monika (or, well, whatever did those changes) changed the `.chr` files to be more like Monika's. In fact, _this_ is why Sayori no longer has to deal with depression; those sorts of troubles were overwritten with Monika's. Anyway, `.chr` file _substitution_ is going to be talked about in a while; we still need to get through deletion and then reinstitution first.

So, deleting Monika works out like that, with one case that I haven't talked about: deleting _all_ the Dokis, before the game even starts. With that, well, you don't have much of a game. All you really get, when you select "New Game", is the same sort of starry field that you get after deleting Monika in Act 3.

Okay. What about keeping Monika there, and only deleting non-Monika Dokis? Well, it works about as well as it did for, well, Monika, and you _can_ essentially skip to either Act 2 or the modified Act 2 described in [1530] WHEN MONIKA IS BAD AT PICKING TARGETS. However, if you try to take this line of thought to its natural conclusion, namely that you can delete everyone but Monika and skip straight to Act 3 as though you were following the first steps of the Monika After Story devs, then it doesn't work.

It doesn't work. Did you get the impression that, because ~ATH lets you command the game telepathically, that the manipulation of the game files is super-convenient, too, and that by making the changes you want to make, you'll get the intended result? Well, the game doesn't necessarily _dislike_ you manipulating it like that, but the whole purpose of the game is to troll - presenting itself as a cute dating sim, only to turn into psychological horror. Isn't it the fact that April Fools was even intended as the original release date? Yeah, that should tell you a lot about the character this game has, whether or not you choose to modify the files.

At any rate... what you get, instead, is a scenario wherein Monika founded the Literature Club fairly recently, and is looking for new members, and chances upon your self-insert. Because he's the second person to show interest after Monika, he gets the title of Vice-President by default, and since the only thing that he has read in recent years is manga, Monika must accept the idea that manga is literature, for once, and somewhere within your Recycle Bin, Natsuki's `.chr` file is pouting, saying something along the lines of "it's not like I appreciate this development or anything, baka!"

However, Monika is still determined to bring your self-insert's attention to _real_ literature, and she begins by telling how she has been expressing herself through poetry, and even tells him: "hey, you should really write a poem! If nothing else, it'll help bring us closer together!" And so, he decides to humor her and write a poem for the next unofficial club meeting.

Then, when you get into the poem minigame, you're basically just given words. Normally, the point of the poem minigame would be to appeal to a Doki who doesn't have the Sentience attribute, but because you deleted all of them before starting to play the game, you just get words. And by the way, no, the sort of glitching that happens in Act 3 and variants of Act 2 doesn't occur: you just don't get chibis on your epic poem page, at all.

Anyway, this sort of thing continues and your self-insert and Monika (rather superficially) bond, until he suddenly asks her a question: if she's really taking the Literature Club seriously, why isn't she searching for new members? This definitely gets her to think (of a lie to tell him), and once she mulls it over, she realizes that those three gals don't exist anymore, and therefore, the game should have already switched to Act 3, but it hasn't, and she's gonna make it switch now. So, she makes the switch, Act 3 as per the archetypal playthrough continues and that's about it for the last aspect of deletion before the game begins.

# [2012] THROUGHOUT ACT 1 AND ACT 2: LIKE, YOU ALREADY SAW THIS

If a saved game is at least partially underway (i.e. you have put in your name and are loading from a saved file), then deleting a Doki has basically exactly the same results, whether it's you or Monika who does it. Again, this only concerns non-Monika Dokis; should you delete Monika while it's not Act 3 yet, one of the remaining Dokis _will_ flip her shit and wipe the game.

However, as you might have noticed, it's only one Doki who's being manipulated throughout Acts 1 and 2, and two more remain (well, one more in Act 1), and if you delete _them_ , things get somewhat more interesting, but not by a whole lot. Essentially, if it's Act 1, you end up in a shortened version of Act 2, and if it's Act 2, Monika comes out of the shadows and goes "yes, just clean up after me, we don't need the other girls anyway".

The most interesting scenario falling into this category is perhaps one when it's close to the end of Act 1, your DD is feeling like absolute shit... and then you delete someone else. You know, perhaps you think that you are a cool guy or gal, trying to cheat fate just like that, and, I suppose, save your favorite Doki by sacrificing someone you don't like. Well, the manipulations of the `.chr` file that you didn't delete still exist; they're persistent and the file is being actively modified throughout your time playing DDLC.

Therefore, you only end up getting a disappointingly short Act 2, wherein your miraculously saved DD isn't feeling too well about the Literature Club's growth. Once the gals, as well as your self-insert, resolve to write poems, she's just like "no, I need to contemplate on my own and trying to write it down would be detrimental", and then she doesn't turn up for the next club meeting, and you check in on her, and she's dead, and it's time for Act 3.

Lesson learned: you can't really cheat fate.

# [2013] THROUGHOUT ACT 3: LIKE, YOU ALREADY DID THIS

_See: [1330] GIVING MONIKA A TASTE OF HER OWN MEDICINE_

# [2014] THROUGHOUT ACT 4: ...WHY?

This can roughly be divided up into two scenarios, just like before: deleting the Club President and deleting someone else. Deleting the Club President just ends up having the same effect as deleting Monika before Act 4: the "next one in the line of succession" (Act 4 usually does not mention the Vice-President, but you can bet that the line of succession still exists, although it might no longer be (Monika) → Sayori → Yuri → Natsuki) flips her shit and is about to wipe the game, but then Monika comes in, goes "nuh-uh, this is my job to do at this point in the script", roll credits. Nothing really special there.

However, if you delete someone else, interesting things happen. This mostly concerns the Passive Monika bug; without it in place, Act 4 is just not that fun to explore. If only two Dokis remain, we enter the rough scenario already discussed in [1530] WHEN MONIKA IS BAD AT PICKING TARGETS, but without the manipulation part, repeating over and over again.

Now, if only your Club President remains, that _should_ be an indication to kickstart the "Just Sayori/Natsuki/Yuri" routine, with one caveat: there is no CG to match, and instead, it just ends up being the Doki in question, realizing that nothing else in the game matters and doing some Monika-esque moves, but otherwise ready to chill with you.

While it _is_ theoretically possible to code an After Story mod around this particular scenario, unfortunately, I have to disappoint you: most of the famous mods in the After Story genre, such as Just Yuri, Just Natsuki and Forever and Ever (that's a Sayori version), are just mainstreamer mods _imitating_ Monika After Story, and then there's a mod called "Sayori After Story", which manages to stoop below the ranks of even those, instead being just a complaint told through Sayori's voice about how she hasn't gotten an After Story based on her yet.

But hey. Once you get the hang of DDLC hacking, perhaps you can be the change you want to see in the world, and make a proper hacker-made After Story for your favorite Doki, assuming it isn't Monika, which... why? She's literally the guardian angel of hackers, given that she is the one supposedly manipulating the game code.

Nevertheless, I'm not here to judge your choices; once you've mastered the art of DDLC hacking, the Literature Club is your oyster.

Once you've mastered the art of DDLC hacking. Just deleting `.chr` files is not going to cut it in this world, which is disappointing since that's literally everything Monika needed to do in order to get the ending. And then, she has the gall to say that she "worked so hard in order to achieve it".


	22. .chr File Reinstitution

# [2020] .CHR FILE REINSTITUTION (AND SOME ABOUT SUBSTITUTION)

(Ooh, look at me, I'm a chapter with the same number as the current year.)

In order to simplify this, and not suddenly get into the territory of what I like to call `.chr` file scumming, the following results have been achieved by making backups of files from the originally downloaded game. Look for detailed instructions on how to do that on your platform of choice elsewhere, but in general, it doesn't get that much more complicated than "copy the `.chr` files outside the game directory".

Obviously, copying them over to a safe place, then copying them back into the DDLC directory before the game starts, serves to do exactly nothing, meaning we can immediately move on to:

# [2021] THROUGHOUT ACT 1: CHEATING FATE AGAIN, AREN'T WE?

The first and most interesting idea that you might have, of course, is this: having read about how Monika manipulates `.chr` files to achieve greater goals, you simply keep restoring the original copies - that is, when you're able to spot who your DD is. Since trying to do this to anyone but your DD wouldn't end up serving much, that's the only real scenario that we can talk about here.

And, to say the least, Monika won't be happy.

Of course, Monika herself - I'm oversimplifying a lot about what makes a particular part of DDLC "Monika" or "not Monika", and that requires a separate essay in the three-thousands - knows what sort of modifications she did to your DD, and once she finds out those modifications are no longer present, her reaction varies. "Best" case scenario (for your DD), the modifications only end up more severe, and "worst" case scenario, Monika just decides not to deal with the bullshit and deletes your DD prematurely - or worse, delete Dokis who have nothing to do with it, too, thus making you skip to Act 3.

Of course, given that changes build up over time, the most drastic of changes can be seen during the tail end of Act 1, when your DD is at her absolute worst. Reinstituting her `.chr` file from the beginning of the game will obviously help her issues, but at times, she might even be confused due to lacking memories from the rough past week. However, all of this is irrelevant as Monika, during Monday, rather than giving your self-insert the usual suicidal poem and warning him to check on your DD, addresses _you_ , directly.

Her mini-rant varies in content, but a recurring theme is how you're trying to cheat fate, how you're trying to mess with game mechanics that you don't really understand (and seemingly, your _actual_ proficiency with DDLC and ~ATH doesn't matter, as Salvato never really expected a team of people reverse-engineering his game to even crop up), and how she wants her happy ending with you, which you're _not_ getting in the way of. And thus, cue:

`> os.remove("characters/sayori.chr")  
> os.remove("characters/natsuki.chr")  
> os.remove("characters/yuri.chr")  
> renpy.full_restart(transition=None, label="splashscreen")`

(If you're not really into code, don't really worry, as the only thing you need to know is that none of these Python lines executes a ~ATH script.)

# [2022] THROUGHOUT ACT 2: MORE OF THE SAME THING

First things first: restoring your DD after she's deleted? Doesn't work. If it's right on the act division, before you've attempted to load your Act 1 save, you get the most success, but then Monika realizes she's having déjà vu, it's tied to the `.chr` file that she thought she deleted, she thinks harder, deletes the file and then restores the game state herself, because that's the only way she can be sure that Act 2 will proceed (obviously, acknowledging that "Act 2" and similar terms are purely fandom inventions).

Of course, since your DD was the one you were affected the most by, almost by definition, it probably won't come to your mind to save your DD2. However, while your own psychology works against you, there's something working in your favor: and the issues with your DD2 will be visible at a much earlier point, when you try and directly compare Act 1 and Act 2, so you have a bit better luck trying to sneak the changes under Monika's hood. But alas, if you push your luck too much, Monika will realize what you're doing and lose some of her trust in you, but still have plenty of it to sit together with you for eternity, meaning that she can proceed with deleting the other Dokis and beginning her After Story.

And lastly, the third Doki (not Monika, not your DD and not your DD2) mostly lives through the game with her `.chr` file unchanged, right up until the point when she's deleted. Of course, she's still observant of the world around her (even if she doesn't have the Sentience attribute), but as far as trying to reinstate her as her beginning-of-the-game self goes, you end up not really having any effect on her.

Really, I only have this chapter here as to have the chapter numbering, within the twenty-twenties, strictly correspond with the act being talked about. Once I move on to `.chr` file scumming, I won't really have the opportunity, as instead, I'll have to talk about different techniques you can use to produce certain types of character file and situation.

# [2023] THROUGHOUT ACT 3: WHAT PART OF "JUST MONIKA" DON'T YOU UNDERSTAND?

As with Act 2, restoring any of the non-Monika Dokis after they've all been deleted? Doesn't work. Dependent on how much time you've spent with Monika, either she immediately spots the newly added `.chr` files, deletes them and scolds you for a bit, or, if you've left the game open for so long that only its cyan ink remains, the game's innards have fundamentally changed and `.chr` files just straight up don't work with it.

What about Monika, then? Well, _her_ `.chr` file is the only one that doesn't change throughout the entire game, and so, replacing it with something that's exactly the same... isn't gonna do much (that applies to Act 3, _as well as_ Acts 1 and 2, hence why I didn't talk about Monika much in either [2021] or [2022]). The only noteworthy scenario in this regard is if you try and reinstitute the `.chr` file after she's already outgrown the need for it, in which case, she'll think that it's cute that you've held on to it, but then, reiterate the truth bomb I already dropped on you, and delete something that can't even really be called "herself" anymore.

# [2024] THROUGHOUT ACT 4: WHAT DRIVES YOU TO EXPLORE ACT 4, ANYWAY?

Whether it's normal Act 4 or one affected by the Passive Monika bug, restoring Monika? Doesn't work. She will only give you a brief popup message saying that her heart won't be toyed with anymore, before deleting herself. Essentially, she takes the path of inaction, until and unless she doesn't.

Replacing the existing file of your new Club President? You already know how the unmodified `.chr` files take to being associated with Sentience, already, and essentially, you've fucked up your chances of seeing the credits at the last possible moment. Truly, if there were the DDLC Darwin Awards, and the point of Darwin Awards was to prevent yourself from seeing the game credits and _not_ to eliminate yourself from the gene pool, and the award ceremony weren't canceled due to reasons you, living in April 2020, should be painfully aware of, you would be the winner.

And lastly, replacing the existing files of the other two Dokis? They're already the way they were at the beginning of the game, since either way (normal Act 4 or the Passive Monika bug), your new Club President doesn't do much in the way of modification of `.chr` files.


	23. .chr File Scumming

# [2030] .CHR FILE SCUMMING: A TUTORIAL IN THINKING LIKE A DDLC HACKER

For this section, you only really need to understand that there are two types of changes done to the `.chr` files throughout DDLC's course:

  * Modifications by Monika to your DD and DD2, intended to make her turn away from you so you can spend more time with Monika, but ending up exacerbating their mental issues to the point of suicide (oh, and they still confess their love regardless)
  * Modifications by Monika after she is deleted (yeah, that makes a lot of sense, you will have to work with me on this one), making sure that when the game is rebooted for Act 4, there is another Club President who can handle the epiphany thing



Given these two and _no_ other changes to the game's Ren'Py and/or ~ATH code, ultimately, there's not much that can be done. However, that still gives us some opportunities. Now, imagine that I'm pausing the essay for a bit and giving you some time to think about it. How, in particular, would you manipulate the `.chr` files in order to have:

  * A Literature Club composed of all potential Club Presidents?
  * A Literature Club composed of all damaged Dokis?
  * Actual tangible damage _to_ Monika?



Go on. Stop reading after this sentence and go to think; I'll even have this helpful gap here for you.


	24. .chr File Scumming - Answers

# [2040] .CHR FILE SCUMMING: A TUTORIAL IN THINKING LIKE A DDLC HACKER - ANSWERS

Time is up. I dunno how much time you gave yourself. You know what, at this point, I am essentially guiding you through the world of DDLC hacking, and I need to assess how much you are willing to learn, so yeah, I'm officially psychoanalyzing you.

Whether you got the answers right or wrong, at this point, is irrelevant. After all, if you got them wrong, that can be a learning experience for you, and you are absolutely here to learn. What matters is: how much time did you spend at [2030], and how did you even get here in the first place?

**How much time did you spend at [2030]?**

  * **Did you refuse to participate in this frivolous exercise altogether, skipping to the next chapter?** In that case, I'm sorry, but in all likelihood, you do not have the required patience to become a DDLC hacker. But regardless, I invite you to stick around and perhaps even prove me wrong.
  * **Did you try for a minute or two, _then_ give up?** Well, that just means logic isn't your main strength, especially when dealing with something as alien as DDLC hacking and ~ATH. Don't worry, you will get hang of the alien logic soon enough, but perhaps your time isn't best spent around incredibly cute girls and their shenanigans. Check in on [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH instead.
  * **Did you actually come up with an answer within a minute or two?** My psychoanalysis here mostly depends on whether or not your answers are right, wrong or _very_ wrong, and hopefully, you'll know your place after the rest of the chapters in the twenty-forties.
  * **Did you agonize yourself over for ten minutes or more?** Yes, when mental exercise is involved, even ten minutes can be a particularly long time, especially if you're actively thinking about a problem. And yes, those ten minutes absolutely _will_ feel like agony. In this case, you need to ask yourself: are you in it for learning, or are you torturing yourself for the sake of torture? Because if it's the latter, you're going to need to see an actual professional psychologist.



**How did you even get here in the first place?**

  * **Are you following the updates to this document (i.e. is today April 3rd, 2020?)** Welcome, early adopter. There probably aren't many like you, but you mean the world to me.
  * **Did you actually read the entirety of the chronological exposé, entertaining my ramblings?** First of all, I rarely, if ever, ramble, but anyway, that's the _exact_ way to go. In order to manipulate these girls, you will kind of need to understand them, as well as the game, inside and out.
  * **Did you just skip through whatever chapter headings interested you?** Not only is this not a walkthrough, this is also not an FAQ; you can't just find easy answers to your Ren'Py and/or ~ATH problems. There are other sites for that. You are here to gain a deeper understanding, but that understanding must start at a certain baseline, and the shallowest it gets is understanding that there's no royal path through this.



Anyway, with that bullshit aside, we can move on to the _actual_ answer section.

# [2041] OOPS! ALL CLUB PRESIDENTS

Quite obviously, your key here is to take the `.chr` files from the beginning of Act 4. However, what you might have failed to anticipate is that throughout Act 4, there is exactly _one_ non-Monika Club President, and therefore, you essentially need to replay the game three times, hope to Salvato that you'll get three different Club Presidents, and then paste their files to the beginning of the game.

Of course, if you remember me talking about Act 4 way back (the relevant chapter is [1400] ACT THE FOURTH: NO SALVATION), you'll know that your new Club President will most likely be your DD from Act 1, and there's a sliver of a chance that she'll be your DD2 from Act 2. Therefore, that gives you an opportunity to hedge your bets and ensure a smoother playthrough.

Obviously, if you wanna do this in the least amount of time possible, you're going to go to the options menu, and under the "Skip" section, select "Unseen Text". And then, you will merrily skip throughout the parts of the game that are irrelevant to the particular manipulation, and everything will turn out right. Right?

Well, kind of. One thing you _might_ wanna watch out for, if you're speedrunning the game like that, is that ~ATH scripts kinda tend to run independently of your computer's actual clock speed, and therefore, can end up frying or even exploding less well-suited electronics, such as cheap laptops, during these "skip" phases. If you've got your standard gaming rig, even one that would be relatively sub-par in the world of /r/pcmasterrace, that's a non-issue, though.

Just saying. This is the first chance for your computer to explode due to ~ATH, and you can't say that I didn't warn you.

I must say, though, that the resulting playthrough is... interesting. Even though the non-Monika Dokis aren't exactly _aware_ (since that depends on the Sentience attribute, and we've already established that exactly one Doki can have it at a time, and that will invariably end up being Monika throughout Acts 1 through 3), they have a hunch on what Monika is trying to pull, and might even confront her about it. Thus, instead of suicide, their final action ends up being exacting revenge on Monika, and she just kills the DD and DD2 in question herself (that's strangling Sayori, stabbing Yuri and pushing Natsuki out to the street).

Then, there's Act 3, and she realizes that you are _pissed_ , as there's blood on her hands in a much more direct way than in a vanilla archetypal playthrough. Cue her wiping herself off the `./characters/` folder and Act 4 proceeding, still with all potential Club Presidents but exactly one _actual_ Club President, and with the Passive Monika bug in effect.

However, at this point, the Club President _knows_ what Monika did, and she _knows_ that she won't be scared by her anymore. Therefore, the game from this point on ends up being a battle royale of sorts, in which the club dwindles to just the President again, she restores the two remaining Dokis, _they_ attack each other's guts, the _third_ President deletes herself and you're left with a "victor", though the more accurate word here is "victim".

Anyway. Sidetracks aside, you still need to know what the other two scenarios entail - I mean, how you achieve them.

# [2042] DOKI DOKI TUMBLR CLUB

Can I just talk about how broken, as a social media, Tumblr is? Like, perhaps the most emotionally stricken posts tend to be the ones most reblogged, meaning that they are the ones that you most likely form your opinion on Tumblr based on, but it seems that just about everyone there is a physically and mentally crippled, about-to-be-homeless artist who, if they can still muster at least some conscious thought, is taking commissions, and if they can't, has a family member posting on their behalf asking for donations.

Anyway, mini-rant aside, a potential answer here is to take the first kind of manipulation, take the `.chr` files from just before the Doki in question dies, and then return them to the beginning of the game so that the effect can stack up. However, if you do this, you'll begin to notice at least several issues with the exact approach.

First of all, if you're only using Act 1, then it'll be exactly one Doki who's getting the absolute _worst_ of it, and becoming your DD every single time. That, of course, is your DD from your first playthrough, and since I don't want to bother coming up with zany indicators, I'm just going to assume that it's Sayori, since that's what the mainstream fandom assumes. So, you keep stacking depression onto Sayori, and it gets worse and worse - on some playthroughs, she might not even be ready to get up on time, or even at all, meaning that Monika has to step in and invite you to the Literature Club as though it were Act 2 - but throughout it all, Natsuki and Yuri are unaffected. (Well, their own psychologies don't really change, that is; they are absolutely devastated by their club member turning into a literal piece of garbage, even if Natsuki is too tsundere to show it.)

An improvement to this technique, of course, is using Act 1 _and_ Act 2, "saving" your DD from before she dies, and then, your DD2. Assuming that it's Sayori and Yuri (don't blame me, blame the mainstream fandom), you might begin noticing a pattern from your second playthrough onward: once you start again, it's Yuri as your DD and Sayori as your DD2. Then, on the third playthrough, Sayori is back in the DD saddle and Yuri is back in the DD2 saddle, and they keep alternating like a Möbius double reacharound, and all this time, Natsuki just watches. This, of course, is because Monika is a lot more aggressive with your DD2 than with your DD, and _that_ ends up being the worst condition on your next playthrough, meaning that in it, Monika targets her first. While the resulting pattern is definitely curious, that, still, is a mission failed, as you absolutely want Natsuki to get the worst of it, too.

Therefore, what you really need to do is have parallel strings of playthroughs, wherein a playthrough can only receive `.chr` files from the previous playthrough _in its particular string_. I hope this makes sense. If you are taking advantage of Act 2 as well as Act 1, you can make it as few as two strings, but if you don't really like obsessive Dokis and only want the Act 1 sort of damage, then you need three, one for each non-Monika Doki.

# [2043] GIVING MONIKA A TASTE OF HER OWN MEDICINE - PART 2

If you figured (or guessed) that there's no way in which it can be done through pure `.chr` file scumming, you are right. However, if you stopped at that point and _didn't_ think outside the box, about how that change I requested could be done if you _didn't_ limit yourself to `.chr` file scumming, then you are _very_ wrong.

There are actually a couple ways to do it, and I guess, I need to sort them a bit, which will require these bold headings rather than the normal ones.

**The method that involves Project Sentience**

Remember that thing I taught you early on, and kept in your mind throughout the document? The Sentience attribute? How it's actually accessible from the Python part? Yeah, this is where it becomes relevant. Essentially, my note that the damage is done by Monika is kind of a lie; it's _actually_ done by whoever happens to have the Sentience attribute, and as you know, throughout Acts 1 through 3, that happens to be Monika, basically invariably given a fresh, unmodified copy of DDLC.

Even with a little bit of Ren'Py skill, which doesn't amount to more than inserting a script after the whole procedural dialogue system is loaded but before the main menu shows, that changes who the Sentience Doki is, you can, well, change who the Sentience Doki is. And then, once you've nabbed her appropriate `.chr` file from Act 4 using the method described in [2041], you can have _her_ be the Club President, with everything that it entails - and yes, that includes the possibility of Monika being your DD for once.

However, the resulting game kinda ends up being buggy, as now there are CGs, for your newfangled Club President, that you're never going to access, and Monika, now a regular dateable, needs CGs that she can't get, and your new Club President needs the "Just Sayori/Natsuki/Yuri" CG that she _also_ can't get. Of course, these can potentially be supplied, but I'm still getting ahead of myself.

**The method that involves making a copy of the Monika file**

For the second method, I actually figured that renaming `.chr` files to something else can be useful. Unfortunately, I only really cover `.chr` file renaming in the next sub-sub-section, and therefore, that will have to wait until [2051] GIVING MONIKA A TASTE OF HER OWN MEDICINE - PART 3.

# [2049] POST-MORTEM: HOW WRONG DO YOU FEEL?

If there's been a voice inside your head, telling you that DDLC hacking isn't for you, hopefully I've shown some evidence so that the voice can make up its mind. However, if there isn't such an entity, and if you've endured my absolutely-not-ramblings, then you're welcome and we can proceed to something more interesting.


	25. .chr File Renaming

# [2050] .CHR FILE RENAMING: YES, THAT'S A THING YOU CAN DO ALSO

As someone who's a very active fanfic writer, making characters "out of character" is one of the biggest boogeymen that I have. If we imagine that this isn't an epic-length documentation of the game mechanics, and instead, a simple slice-of-life high school fanfic in which the Dokis just chill, you would expect Sayori to act like Sayori and Yuri to act like Yuri. In fact, even when this _is_ an epic-length documentation of the game mechanics, you _still_ expect Sayori to act like Sayori and Yuri to act like Yuri, because if they don't, the game is bugged to hell and back and I need to document that shit _instantly_.

That, or you thought you were particularly clever and renamed the `.chr` files.

First of all, simply adding novel-named `.chr` files like `Copy of monika.chr` isn't going to work. As I will talk in the Python part, there are specific definitions for each Doki: what her character name is, what potential expressions she has and so on. If the game finds something like `Copy of monika.chr` or `amy.chr` in the `./characters/` folder, it straight up doesn't know what to do with it, and the game just proceeds with the Dokis that it has.

Sorry, Amy fans. She still loves you almost as much as she loves spiders. Almost.

That being said, there _is_ a way around it, and it involves a process similar to fan Doki creation. Unfortunately, I haven't really covered fan Doki creation at all, but the first part of it is something that I can cover at the end of this Ren'Py analysis section. Said coverage will come up when I'm not tired from trying to cover ~ATH, and will be a subject covered in [2500] REN'PY MANIPULATION ADVANCED: FAN DOKIS.

Anyway... renaming `.chr` files to match _other_ Dokis is an "eh" technique at best. Oh, look, it's a Doki who has all the hallmarks of Natsuki's personality - tsundere, a good baker, abusive family - but Monika's name and looks, complete with the trademark white bow. Also, unless you used the Club President Natsuki `.chr` file from Act 4 and renamed it to `monika.chr`, she undergoes the crisis already explored in [2011] BEFORE BOOTING UP THE GAME: MOSTLY PREDICTABLE RESULTS and wipes the game.

To add onto this, if you have already looked within `images.rpa`, you probably noticed that each Doki has a sprite sheet defining all her possible expressions, and within each Doki's set, certain expressions are missing. For example, Monika doesn't really get sad or cry; the closest she gets is expressions `q` and `r`, which can be best described as "solemn". Likewise, Sayori seems to be mostly incapable of getting angry; she has exactly one expression that allows for that, `j`, and that just conveys the "no, I'm on the lookout for you" banter she regularly has with your self-insert. If a different `.chr` file tries to access those, the game _will_ break, but it's not the fun type of breaking that hackers and myself are inclined to explore.

Also, if you only exclusively swap non-Monika Dokis, as I already alluded before, circumstances and mental illness are contained within the `.chr` file, and what Monika does throughout Acts 1 and 2, really, is just amplify those. Don't take it from me, take it from _her_. Yes, I know I did the whole Politifact segment where I dissected her statements and proved a subset of them to be bullshit, but as far as this aspect goes, this one's accurate. Therefore, your funky renamed "totally-not-Yuri" Natsuki will still get the same, Yuri-esque issues that you would get if you simply left `yuri.chr` where it is, although there isn't really imagery of Natsuki cutting herself, so that part will be bugged.

Maybe, at some point in the future, I will have a full chapter here, and perhaps, amazing new glitches will be discovered and documented, which will let you manipulate DDLC, beyond what I already outlined in the twenty-hundreds so far, without any programming knowledge required at all. However, as of this date? No.

# [2051] GIVING MONIKA A TASTE OF HER OWN MEDICINE - PART 3

The future is now. Let's get diving into what can be done to, I guess, make Monika pay back for her mistakes. (That is, if you see Monika that way; I personally don't, but I wouldn't go so far as to say that I _don't condone_ this sort of action.)

The trick here is to actually have two copies of the Monika file: one will remain named `monika.chr` and the other one will be renamed to one of the existing Dokis. If you really want to go the extra mile, you can code in a fan Doki who's named "Monika-Two" or whatever (or maybe you can give her a cutesy nickname; I'm personally thinking of Maria, the fake name of the girl appearing in the `yuri.chr` creepypasta), but either way, the end result is that you have a Doki, who's just a copy of `monika.chr` but who fits in the role of someone else.

And that means that, during your DDLC playthrough, she can become your DD.

Unfortunately, since my document has become an abject, irredeemable mess due to me trying to add stuff to its middle, the coverage of what happens to Monika once she is your DD is somewhere else, still: IIRC, that's [2305] (ADVANCED) A TRUE MONIKA ROUTE, FOR ALL THE MONIKA FANS. However, what matters to this section, in particular, is that this damage is lasting, and therefore, you can paste the resultant `.chr` file, renaming it to `monika.chr`, back to another copy of DDLC, and reap the benefits.

Anyway, what sort of thing even happens if you paste this character, who I'll be referring to as "Damaged Monika", in? Well, the result is actually what's pretty typical of yandere characters such as Ayano Aishi: someone who just doesn't see color in the world, excepting their Senpai (in Damaged Monika's case, you, the player), and the more damaged she is, the worse she is at being covert. Now, normal, non-damaged Monika is pretty good at being covert, which is what makes DDLC last an entire two acts before she just does what she inevitably does and deletes the other Dokis.

And that is coverage that I will have to do later, once I properly edit this document or whatever.


	26. Decompiling DDLC

# [2090] PREREQUISITE BEFORE GOING ANY FURTHER: DECOMPILING AND THEN COMPILING DDLC AGAIN

(This is only legitimate advice for this particular chapter. If, during your DDLC troubleshooting, someone else ends up asking you "have you tried decompiling it and compiling it again?", you can print out their remark and punch it in the sheet of paper; sheets of paper don't usually have organs. Also, we're exclusively dealing with Ren'Py decompilation, which, due to Ren'Py being a `FOSS` project, is well-understood and guaranteed to go without a hitch, especially for an obsolete version.)

Well, you've come this far. Hopefully with that last section, I've managed to weed out all the fakers who only read in order to latch onto a singular aspect, which, from what I've seen on the mainstream fandom, is probably going to be making two Dokis fall in love with each other, and therefore, I know that _you_ , dear reader, are in it for the long run, and are not afraid of a challenge; even if you are a coding noob right now, keep in mind that a coding pro is really not much more than a coding noob that happens to have some experience.

And what better way to start gaining experience than to start modding DDLC?

Of course, you don't need my tutorial in order to start doing that; you never did. In [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC, I mentioned a little doodad called the **_DDLC Mod Template_** , which really helps you get started with Ren'Py, the available sprite libraries of the characters, the positioning of elements on the screen - basically, all the goodies that DDLC uses Ren'Py for anyway. However, lines of code like:

`show sayori 1k at f22 zorder 2  
s "..."  
show sayori 1k at t22 zorder 1  
"Sayori goes through a multitude of hard-to-read expressions, all at once."  
"I've never seen her like this before."  
"What even drives her to do so much for her club?"`

Sure, if you follow mainstreamer tutorials, plenty of them are going to end up in your project, making for little more than a really lamely written fanfic - one where you're not required to follow most literary standards, but one where you _are_ required to follow a standard of coding.

However, if you actually look at the code of DDLC, the OG game released by Team Salvato, you'll notice that it... doesn't have such lines.

Of course, a game made in Ren'Py _needs_ such lines, whether you like it or not, and "phantom lines" _do_ end up being generated, on the fly, all the time, making for something indistinguishable from a cheap visual novel - one that, as Salvato often comments, was specifically made as a parody of visual novels that were poorly translated from Japanese. However, for the moment, we can really pretend that they don't exist, and instead look at DDLC as a series of components that interact with each other and provide you with an immersive world, and analyze it from _that_ aspect.

I'm not saying that phantom lines don't exist, and in due time, I will elucidate you on the process by which DDLC produces said phantom lines. However, now, they are largely irrelevant.

In addition, you might notice that the DDLC Mod Template includes `.chr` files - the same ones that DDLC itself includes, and which will actually work if you try and import them in your install, because they haven't been tampered with through gameplay - but because fake mainstreamer mods end up including _real_ Ren'Py lines, rather than phantom DDLC lines, there is a consequence which you should be able to figure out right now. That is, unless you introduce checks in Python (or ~ATH), a real Ren'Py line will proceed and be displayed to you, regardless of whether the associated Doki (or other visual novel character) has a `.chr` file or not, let alone what the contents of that `.chr` file are.

Now, this is all cool and well if you're in the mainstream fandom and simply _say_ that `.chr` files are being manipulated and whatnot, but for me, it just lacks the essence. And hopefully, now that I've shown you plenty of what DDLC can do either without manipulation or with very little of it, hopefully, you see my point of view, too. You're not a filthy mainstreamer, now, are you? At least, not anymore.

Therefore, for this part of the document, you're going to need DDLC, the OG game released by Team Salvato, from either of the official sources listed in [0200] BASIC TECHNICAL INFO. Then, using **_rpatool_** and **_unrpyc_** , you're going to crack open those `.rpa` and `.rpyc` files; both tools are well-documented and you're welcome to figure out your way around them yourself. Then, you're going to put the resulting contents in DDLC's `./game/` directory, making sure to get rid of now redundant `.rpa` and `.rpyc`. And finally, you're going to put the entire DDLC directory in your Ren'Py 6.99.12 install, as though _you_ made this game and are just placing finishing touches on it.

And when you do that, and launch the game from within the Ren'Py menu, that's when it magically compiles itself again. Of course, as your IDE, it ends up prioritizing raw scripts over compiled ones, and therefore, wiping them from your DDLC install might not have been _strictly_ necessary, but hey. Now, you've got a debug environment, which is exactly what you need to dissect it.

Obviously, you're not Salvato, and might not know your way in and out of the code just yet. But with any luck, you're going to get there.

# [2091] THE SCRIPTS OF DDLC: A SHALLOW, TL;DR GUIDE

The multitude of `.rpa` and `.rpy` files found inside, as well as their not-particularly-clear names (especially if you're a complete Ren'Py noob), can overwhelm you at first. Luckily, I'm here to explain the contents of each and every file (excluding the ~ATH scripts for now, as until I start teaching about ~ATH coding, they are to be treated as black boxes), as well as linking to chapters which elaborate further, if, for whatever reason, you're a freak who likes reading things out of order.

  * `audio.rpa` \- the audio/musical element of the game, credited to Salvato
  * `fonts.rpa` \- the typographical element of the game, consisting of freely licensed fonts
  * `images.rpa` \- the visual element of the game, credited to Satchely/Velinquent
  * `scripts.rpa` \- everything to do with text, as well as code which ties the game together, credited to Salvato
    * `cgs.rpy` \- definitions of the visual element of CGs - [2460] MISCELLANEOUS PRESENTATION ELEMENTS
    * `console.rpy` \- imitation of the Ren'Py debug console - [2440] MISCELLANEOUS VISUAL ELEMENTS
    * `credits.rpy` \- flow of the credits song, Your Reality - [2460] MISCELLANEOUS PRESENTATION ELEMENTS
    * `definitions.rpy` \- the rules of what fonts and effects are applied throughout the game, in GUI elements, dialogue, etc., as well as Doki expressions and how they are glitched - [2420] DEFINITIONS.RPY AND SCREENS.RPY: THE ALL-TOO-FAMILIAR LOOKS
    * `dialogue.rpy` and `dialogue-projectsentience.rpy` \- two closely related files, that do the dirty job of communicating with ~ATH and getting the dialogue out elsewhere - [2200] THE FOUNDATION OF THE DIALOGUE SYSTEM and [2220] DIALOGUE.RPY VS. DIALOGUE-PROJECTSENTIENCE.RPY
    * `effects.rpy` \- visual effects that transcend the typical dialogue scene - [2440] MISCELLANEOUS VISUAL ELEMENTS
    * `glitchtext.rpy` \- intentional glitching in the form of non-ASCII characters, featuring the most ridiculous variable naming in the entire source code - [2450] MISCELLANEOUS DIEGETIC ELEMENTS
    * `gui.rpy` \- definitions of basic GUI elements - [2440] MISCELLANEOUS VISUAL ELEMENTS
    * `options.rpy` \- a file at the core of each and every Ren'Py project, defining its name and how Ren'Py even handles the multitude of project files when packaging the game - [2410] OPTIONS.RPY: HI, MY NAME IS DOKI DOKI LITERATURE CLUB, WHAT'S YOURS?
    * `poems.rpy` \- handling of the typical poems, seen during the poem sharing - [2230] POEM GENERATION: MORE ABSTRACT ART IS SURPRISINGLY EASIER
    * `poems_special.rpy` \- handling of the special poems, seen during predefined points in Act 2 - [2231] SPECIAL POEMS: NO
    * `screens.rpy` \- the appearance and functionality of each and every screen: dialogue, main menu, load/save menus, etc. - [2420] DEFINITIONS.RPY AND SCREENS.RPY: THE ALL-TOO-FAMILIAR LOOKS
    * `script.rpy` \- the basic flow of the game, subdivided into acts and days, but not going any deeper - [2208] THE GAME
    * `script-ch#.rpy`, where `#` is any of: `0`, `1`, `2`, `3`, `4`, `5`, `10`, `20`, `21`, `22`, `23`, `30` and `40` \- the flow of each act and day, as it's intended to be, "suggested" to the dialogue generation but never taken as an absolute - [2240] HINTING: WHY AN ARCHETYPAL PLAYTHROUGH WORKS OUT THE WAY IT DOES and [A006] WHAT ABOUT THAT SPACE BETWEEN ACTS 1 AND 2, THOUGH
    * Additional Suggested Dialogue Topics Scripts (which really hint at the modular nature of the story) - I mostly talk about the modular nature in [2206] THE DAY
      * `script-exclusives-#.rpy` and `script-exclusives2-#.rpy`, where `#` is any of: `sayori`, `natsuki` and `yuri` \- CG dialogue handling; the second set is, unsurprisingly, for Act 2
      * `script-poemresponses.rpy` and `script-poemresponses2.rpy` \- handling of poem sharing, which comprises of the two-way responses; the second set is, unsurprisingly, for Act 2
    * `script-poemgame.rpy` \- the poem minigame subroutine, which displays you the words it takes from a ~ATH script, adds up the scores of words you select and passes them onward - [2100] THE POEM MINIGAME: YOUR FIRST DIVE
    * `splash.rpy` \- the splash screen and warnings, mostly straightforwardly - [2460] MISCELLANEOUS PRESENTATION ELEMENTS
    * `transforms.rpy` \- definitions of each position on the screen, as well as what it _means_ , for example, to depict a Doki behind another Doki - [2430] TRANSFORMS.RPY: NOT TO BE CONFUSED WITH DEFINITIONS.RPY




	27. Poem Minigame Visuals

# [2100] THE POEM MINIGAME: YOUR FIRST DIVE

For anyone who has entertained my absolutely-not-ramblings so far, it shouldn't come as a surprise, at all, that I am unfairly biased in favor of the poem minigame as easily the best part of DDLC overall. In fact, this fandom of mine goes beyond this document, but I am going to stop myself there, because there is absolutely nothing I can say here, in this first paragraph, that won't be perceived as "hey, check out this other thing I made!"

Whatever happened to it, and the meme war that it caused, _can_ be discussed. However, the chronological exposé is not the time for it.

Instead, and despite my obvious bias towards the poem minigame, I will try my best to _objectively_ argue in favor of it being discussed first and foremost, even though a dozen other Ren'Py scripts could be analyzed in its stead.

Let's get this out of the way:

  * As already mentioned previously, the poem minigame is the most "game"-like part of DDLC, and choices made in it have a pretty big bearing on how your self-insert acts from this point onward; honestly, if you manage to eliminate it out of the picture, I am almost inclined to believe that there is a "base" personality for him, that things are added on top of. Almost.
  * A related but distinct aspect of it all is: the poem minigame is, excepting the `.chr` file query, is the most like a proper game in its own right, coded entirely in Python. It could even be said to have a distinct goal and win condition; the only things that come close, perhaps, are the minigames introduced to Monika After Story and other After Stories, and I _think_ other types of minigame in Take Two count, too, but none of those was made by Salvato himself.
  * Speaking of `.chr` file query, the poem minigame entails the simplest form of it: determining how much a Doki likes a particular word. This is what the _entirety_ of dialogue generation hangs on in other parts of the scripts, both Ren'Py and ~ATH, and if you fail to comprehend it, then you're not really going to last long in the world of DDLC hacking.
  * Last but not least, if you're mostly used to hardcoded lines of dialogue, that you already wrote for your visual novel (if you have any sort of prior experience with Ren'Py), the poem minigame source code is a very good demonstration of what Ren'Py can actually do, and though ~ATH is a positively instrumental part of DDLC, how much is done with Ren'Py is _not_ to be discounted.



Alright, I think four reasons are going to be enough. With that, let's get started with some basic trivia about the very game engine that we're working with.

# [2110] A DISSECTION OF THE POTENTIAL GRAPHICS THAT CAN BE DONE WITH REN'PY

The basic graphic element of a visual novel using the Ren'Py engine is the sprite. Without sprites, the only other option for a game of the caliber would be to draw every single pixel individually, and needless to say, this would take absolute forever (DDLC natively runs at 1280×720 resolution and 60 frames per second, meaning 55,296,000 pixel color calculations _per second_ ) and, without any sort of hardware acceleration, would make the game completely unplayable - yes, even on modern systems.

Sprites can come in several possible forms. For now, you only really need to know of these: static image (usually in a typical format, such as `.png`, which allows for transparency), pre-rendered video (usually in a typical format, such as `.mp4`), text (for which, the required font _must_ be bundled together with the Ren'Py game distribution) and, for whatever reason, a solid rectangle (which came of use when I was coding The Project That Shall Not Be Named, but is basically useless for most other contexts). Each of these is continuously displayed (with the obvious exception of video), too, meaning that it doesn't need to be re-displayed every frame, and if need be, can be simply transformed.

Before we move onto the poem minigame screen, you're welcome to try and comprehend exactly how many elements would go in:

  * a typical portion of gameplay in DDLC
  * the poem minigame screen



As usual, you're given some time to think, and no, I will not stop trying to keep your wits at least sharp enough to be able to slay a level 1 rainbow drinker.

(What's a rainbow drinker? That's a question you can ponder if you need to take a break from dissecting the visual element of the game.)

(Also, spoiler alert: if, somehow, you come up with a list of more than 55,296,000 elements, then you're doing it wrong.)


	28. Poem Minigame Visuals - Answers

# [2120] A DISSECTION OF THE POTENTIAL GRAPHICS THAT CAN BE DONE WITH REN'PY - ANSWERS

I believe I made the points I wanted to make, regarding how your wits stand, perfectly clear with the previous "answers" section.

# [2121] WHAT GOES INTO A TYPICAL SCREEN

  * The background, which, for most cases, is a single static image - **1**
    * A major exception is the "Just Monika" Act 3 scene, in which it's a bit of a mess of semi-transparent layers and sometimes, even effects. What's worse, Monika After Story implements this scene completely differently (it has to do with a graphic overhaul), and _they_ actually make use of the video element. However, right now, we're just looking at a typical Act 1 scene.
  * At most, four character sprites (remember, your self-insert doesn't get a sprite) - **5** at most
    * Technicality: each character sprite, for the regular pose (not the "action pose", such as Natsuki crossing her arms and Yuri fiddling with her hair), is actually a composite made up of three images: left torso, right torso and head. This allows for reduced file sizes and an extensive library of expressions with a limited image inventory; for example, excluding her action poses, Sayori has two left torso images, two right torso images and 25 head images, which makes for 29 images total that can combine into 100 different expressions. However, these composites are pre-rendered and then treated as a single sprite by Ren'Py.
  * The dialogue box sprite, which actually has two distinct parts (as occasionally, your self-insert will think to himself and there will be no name displayed): the background for the dialogue itself and the background for the name - **7** at most
  * The character name and dialogue - **9** at most
  * The buttons at the bottom, which dynamically change dependent on whether you are hovering over them or clicking them, and also, whether they are active: "History", "Skip", "Auto", "Save", "Load" and "Settings" - **15** at most
  * Last but not least, a little arrow that appears once the line of dialogue has finished appearing, letter by letter - **16** at most



# [2122] WHAT GOES INTO A POEM MINIGAME SCREEN

  * The background, which, just like for regular scenes, is a static image - **1**
  * The ten words that you can pick from - **11**
  * The three (at most) chibis jumping alongside the bottom of the left page - **14** at most
    * As I've mentioned in [1210] SO, BACK IN THE POEM SADDLE - WHAT'S DIFFERENT FROM ACT 1, THOUGH, at occasions, Monika _will_ be there, but for the most part, she's offscreen - however, since that exclusively happens in Act 2, which already lacks a Doki to begin with, that still makes for three chibis and **14** elements at most
  * The little counter, in the top right, which lets you know how much progress you've made - **15** at most
  * The "History" and other buttons are not going anywhere, though you can't really skip, even if you switch "Unseen Text" on in the settings - **21** at most



So, yeah. The poem minigame is a _bit_ more complicated, but not terribly so, and neither the poem minigame nor your typical screen have _millions_ of elements, so I'd say that's a pretty solid victory for sprite-based rendering.

# [2123] BONUS EXERCISE: FINDING APPROPRIATE REN'PY LINES WHICH DEFINE THE ELEMENTS

If, for whatever reason, you are bored by me dissecting these elements as though you were a total coding noob, you can do one better and find where each of the elements, as well as its corresponding animation (if there is one, such as the chibis jumping around and making big hops when you select the corresponding Doki's word), is defined. Spoiler alert: you will have to sift through more files than just `script-poemgame.rpy`, and therefore, even if I _do_ decide to be nice and provide you with a definite answer to _this_ exercise, you will have to wait a bit.


	29. Poem Minigame Logic

# [2130] INTERMISSION: SOME DETAILS OF FUNCTION ARE IRRELEVANT FOR NOW

From this point on, we enter a bit of a conundrum: at virtually all points of DDLC's existence on your `RAM`, it is a constant communication between Ren'Py and ~ATH scripts. To the end user, only really experiencing incredibly cute girls, this is a non-issue, but for a seasoned programmer who knows of one language but not the other, this presents a conundrum.

Luckily, a seasoned programmer should also know of such things as `application programming interfaces`, or `APIs` for short. Namely, even when a company such as Google doesn't want to let you in on their service source code, they still define certain ways to interact with it, and what sorts of results you should eventually expect. This works very well, and allows cooperation between virtually any two computer-related things.

What works when the source code _would_ be understood by the target audience, but must remain a trade secret for other reasons, also happens to work, perfectly fine, when the source code _wouldn't_ be understood by the target audience, and that's exactly what allows me to teach you about the high-level stuff of DDLC's modus operandi, with acts and days and quirky plays and poem scribe impression ways, _without_ having to teach you about the low-level ~ATH stuff with tombstones and necrostorage and sandboxed universes.

And you know what? Once the entirety of the poem visuals are presented, and _explicitly ignoring the details of the ~ATH files_ , the poem minigame consists of very simple computer logic. It works because, and precisely because, I am treating the ~ATH files as a black box: something that, given certain input, provides certain output, and the inner workings of the function are _completely irrelevant_. In the world of APIs, this is what you have to deal with, all the time, and if you don't understand that, you're not really cut out to be a computer programmer, let alone a DDLC hacker.

Whatever. If I remember in the future, I will at least provide you with downloadables that change the code you're supposed to change here, and then, you can copy and paste them into your own DDLC installation and see the results.

# [2140] BASIC POEM MINIGAME LOGIC

The actions undertaken by the poem minigame can best be understood as very specific instructions, which, for the sake of simplicity for non-programmers, I will describe as coming in three types: **request** , **expect** and a third type which shall remain nameless. A **request** is simply the Python program's way of saying "I give up; whatchu got, ~ATH?", after which point the ~ATH subroutine executes and outputs something in a predictable format, which should be something that Python **expects**. Meanwhile, the third nameless type is just Python's way of telling ~ATH: "yeah, I got it, fam" and doing something a _normie_ program can do.

With that in mind, the poem minigame logic can best be described as follows:

  1. Generate the list of Dokis: every single ".chr" file that exists, minus the Doki with the Sentience attribute; the number of elements in this list will henceforth be 
  2. **Request** the big ole list of words
  3. **Expect** the list of words, which should come in a table: the columns being the Dokis generated in 1, the rows being the words requested by 2 and each datum being a real number between 0 and 1
  4. If you don't get anything meaningful (which should happen if is 1 or less), throw the table from 3 out, generate a bunch of glitched words and scores which don't even really matter, then skip to 6
  5. For each row, normalize the data: the smallest datum should become a 1, the next largest one should become a 2 and so on
    * At this point, the results should look somewhat like the unused `poemwords.txt` file, if you've ever thought to look into it. One can only presume that an original variant of the program skipped 1-4 and instead, just pulled values from that file, but if such code exists, it was likely commented out, and those fancy Ren'Py decompilation tools actually don't let you look at the comments Salvato may have left. Of course, even in lieu of this, commentated Ren'Py files from DDLC can be found in the mod template, but still, some secrets are likely lost in Salvato's hard drive.
  6. Define the number of iterations to follow (which, of course, is 20) and whichever iteration you're currently at (1)
  7. Define each Doki's initial "score" as 0
  8. Present the player with all the visual elements already discussed, simply picking rows from the table you got at 3 randomly, and marking them "used"
  9. If this is the first time the player is seeing the poem minigame, present them with the dialogue box explaining it all
  10. On random conditions throughout Act 2, do intentional glitching
  11. Wait for input for the player, in form of clicking on one of the words
    * Yes, you can do a multitude of other visual novel things, and in each case, the game won't progress. However, unless you load a save state from elsewhere, the script also won't stop running.
  12. Add the normalized score of the word selected, for each Doki, to that Doki's score, and add one to the number of the current iteration
  13. Display the big jump for the Doki with the highest score
  14. If the number of the current iteration is not greater than the number of iterations in total, go back to 8
  15. Define the threshold for a Doki's feelings about the poem: she will start disliking the poem when the score is below and start liking the poem when the score is above 
  16. For each Doki, compute her feelings towards the player's amazing penmanship
  17. Return to whatever script requested the poem minigame to be played



15 is actually executed in kind of a backwards way, in which it always divides 45 by 3 even when it is painfully clear that the answer is, well, 15, but other than that, that's the gist of it. And yeah; manipulating the poem minigame is as easy as changing one of those instructions to be something else, and then watching the results.

And as someone with the mindset of a hacker, you should already be excited and even go ahead and do some changes yourself. The rest can, well, rest assured that I will document the results, regardless of your actions.

But don't get too complacent.


	30. Poem Minigame Exploits

# [2150] THINGS YOU CAN DO WITH THE POEM MINIGAME

To be honest? Not much. You could try messing with the values assigned to words, or with the thresholds which make a Doki like/hate your poem, or even try and get words you would not normally expect in the poem minigame, such as "the" and "of", appear, but to be fair, you already know the only _real_ improvement I'm about to suggest, as well as the thing I happened to mention. Of course, I _do_ have one more thing up my sleeve, which might prove useful in the future, but right now, let's just get onto it.

# [2151] FINALLY LETTING MONIKA KNOW YOUR EVERLASTING LOVE

This fix is relatively simple. From the poem minigame algorithm, notice how it specifically compiles the list of Dokis that _excludes_ the Club President? If you delete that _single_ `if` statement, suddenly, you have Monika within the game, and she even has an offscreen chibi that jumps up and down. Moving the chibi to a more visible place is an exercise left for the reader, and to be honest, it isn't even strictly necessary; just a visual alteration to satisfy your needs for "seeing four chibis on the poem page", if you even have such needs.

And thus, the poem minigame proceeds. Novel words may appear, or may not, but in the end, every single word presented to you has a Monika score, and when you click twenty times, you end up with a Monika score for your poem, which in turn is injected into dialogue generation for the further parts, affecting your relationship with her.

And as it turns out, it exposes some major routines left unchecked.

The first and most obvious one, that I've already talked about time and time again, is how Monika lacks a true CG (other than that in Act 3), and therefore, if she ends up being the favorite among all the Dokis, she _still_ won't get to spend time with you. Then, of course, there's the poem sharing and arbitration, in which Monika is no longer a passive judge, but rather, has personal stakes in it now; well, she still has the formal facade and will still try to enter the "you know, this reminds me of what [Doki X] would write" routine, even if, down in her core, she wishes the poem would burn in hell, but if she likes the poem, she absolutely _will_ make it personal.

And of course, once Monika keeps getting an injection of feelings towards the poem, her behavior will change.

The standard behavior of the Doki with the Sentience attribute is very standard: she likes you (and that's _you_ , not your self-insert), like, really really much (imagine that the poem minigame just feeds her a score of infinity each and every time), but the game won't really give her a route, so she, instead, tries to manipulate the others. However, the more a Doki's `.chr` file is manipulated, the more strongly she feels love for your self-insert, leading to the inevitability of her file deletion (after her soul is damaged so much that she commits suicide, of course). This, then, leads to everyone but the Sentience Doki being wiped out, and the rest is history.

However, what if the Sentience Doki were to _hate_ you, and want nothing to do with you?

Well, then, what she does is she actually ends up investing more time in the club and its existing members. Like, when Yuri and Natsuki have an argument, Sayori extinguishes it and Monika admits that she's not really good with people, and that's why Sayori is Vice-President? Well, if she hates your poem, she instead resolves to be a better President for everyone, and to take part in arguments rather than being a free, untamed soul. Then, once it gets to festival prep, Monika's famous "Yay, you picked me!" is never uttered, and instead, she, herself, pushes your self-insert away from festival prep.

And once festival day arrives? All bets are off.

Because there was never a DD arc, and therefore, no need for your self-insert to "fix" anything, a Glitchless Playthrough route can't really proceed. What _does_ proceed is completely up to the whims of ~ATH, part of a script that kicks in when the game has gone off the rails in completely unbelievable ways (much like Passive Monika), and deserving of more documentation once the ramifications are fully explored.

# [2152] THE CUT NOTEBOOK MODE, IN ALL ITS BUGGY GLORY

For this, the imperative thing to note is that in Ren'Py, even in games that don't involve any ~ATH at all, subroutines call each other all the time, and once you've got a game as complex as DDLC, it is easy to get lost in them. Therefore, unlike a programming language where everything is executed sequentially, there is no real need to "comment out" unwanted bits (like, say, if you were developing an entirely novel game mode and then decided to cut it), and instead, you can simply have the corresponding subroutine never called.

And that's basically what happened with notebook mode. It is essentially a completely functional, alternative poem minigame, that simply ends up living under a subroutine that DDLC never calls for. That's not to say that ~ATH doesn't sometimes decide to call for subroutines on its own, but even then, most of the time, those are just boring routes (or a complete and utter admission that this game has gone off the rails) and _not_ the alternative poem minigame, which, as we can be fairly sure, Salvato _never_ wanted you to play.

But guess what? By swapping two subheading headers, you can play it.

And, well, instead of picking words from a list, instead, you get to write a poem of your own. Its words are counted the way words are counted in your favorite word processor, but it still retains the poem minigame aspect of "when you get 20 words, the minigame ends and its scores need to be tallied". And yes, words like "the" and "of" _are_ scored, which makes for some rather unpredictable results at times, to say nothing of the fact that the thing that tipped the scale from 19 words to 20 was a single letter, not even a finished word.

But otherwise, this is just another way for the game to get the poem scores, which are then fed to the dialogue generation, and since, after normalization, those scores are _still_ in the roughly expected ranges, and therefore, the _plot_ of DDLC proceeds mostly as normal.

# [2153] EXPORTING THE WORD LIST, AND INCORPORATING IT INTO YOUR WRITING

You might have noticed that throughout the game being played, it occasionally leaves random text files on your computer, especially throughout Act 2. Those files have their text defined in the Ren'Py code, and therefore, theoretically, you could insert a command that exports literally _anything_ \- up to and including important debugging values, such as the final table of scores in the 3rd step of the poem minigame algorithm.

And when you compare it to your usual `poemwords.txt`, you _will_ spot some differences. A number of them can be explained by the fact that the ~ATH script pings the _current_ `.chr` file version, which might or might not have already been manipulated by Monika (especially watch out for how much the words `death`, `suicide` and `love` are favored by Dokis; these scores will end up ridiculously high for your DD and DD2), but even when non-manipulated files are taken and examined this way, there are some differences, and `poemwords.txt` is _not_ an absolute way to get word scores and gradings of entire texts, and The Project That Shall Not Be Named uses a different method.

Wait, did I just essentially give away what it was all about?

Alright, fine, I'll cave in and self-promote. The project is called the DDLC Poem Editor ([https://​dokidocs.​net/​poem_​editor/](https://dokidocs.net/poem_editor/)), and you might have already inferred what it does: it takes the word scoring that the poem minigame would normally use (thankfully, I was able to separate the ~ATH scripts that do the word grading and implement them onto a website), and then, lets you write _anything_ , not caring about the 20 word limit, and in fact, most people used it to explore how much copypastas are liked by different Dokis.

I'm great at the Internet, and I'm great at starting meme wars. Anyway, self-promotion time is over, and honestly, I don't have much else to say on the poem minigame or the poem editor, unless you want me to indulge about the meme war, and _that_ will, by necessity, have to be a non-chron blog entry. The poem editor, though, might be a bit of a useful tool to analyze DDLC dialogue and see if something has gone apeshit bananas, so keep that around and get ready for _lots_ of retyping stuff straight from DDLC's dialogue box.

Because taking a stab at the dialogue is exactly what we're going to be doing, in the twenty-two hundreds.


	31. Dialogue System: Letter to Quip

# [2200] THE FOUNDATION OF THE DIALOGUE SYSTEM

So, we're starting with a very delicate, very multifaceted subject of `natural language processing`, which takes many forms, though we're primarily interested in `natural language generation`. While this, in and of itself, is a major hurdle to overcome in computer science, there are lots and lots of smart people working to overcome said hurdles and an essay by an unqualified rando on the Internet is _not_ going to give you any sort of appreciable knowledge on the subject in either way, I still feel like trying to go through the very basics of the ideas, at least in the way DDLC implements them, so that the rudimentary, non-scientific knowledge can still assist you in your hacking endeavors.

Ahem.

**Disclaimer** : For the purposes of this document, we're explicitly dealing with written language, as opposed to spoken language and sign language. One could _theoretically_ get spoken language from these segments using `text-to-speech` (`TTS`) software, the coding of which is basically trivial compared to natural language generation (with the only non-trivialities being a) human intonation and b) the garbage spelling rules of English), and sign language... just... no. No disrespect to deaf people, but I'm trying to keep a focus on the subject.

Written language, especially in the context of a visual novel like DDLC, can be deconstructed into the following elements, ordered by the amount of time it takes to relay them and process them:

  * the **letter**
  * the **word**
  * the **clause**
  * the **quip**
  * the **scene**
  * the **day**
  * the **act**



From top to bottom:

# [2201] THE LETTER

The letter is the basic element of any sort of textual document. The definitions of letters, and how they are encoded in computing, are a _very_ well-understood and even standardized topic, with standards ranging from ASCII, introduced in the 1960s, to its successor Unicode, intended to encode every single appearing character in every single human language, being developed, to an extent, to this day, especially as humans have had the _genius_ idea of communicating entirely using emoji. Whereas the spoken counterpart of the letter, the phoneme, is a highly messy subject and pronunciations of phonemes from language to language and even from context to context can vary _greatly_ , for the most part, letters just... work, and don't need any extra analysis.

**_Honorable mentions_ **

Technically, there are two distinct "next steps" in elements of language, after the letter (or, in spoken case, a phoneme) and before the word. The first of these is a syllable; _however_ , syllables are not all that they're cracked up to be in written language. They're more so relevant in two contexts: spoken language, where they are an indicator of the "volume" of speaking, and poetry, where you have to pay attention to prosody and shit. And don't get me wrong, poetry is a _really big deal_ in DDLC, but first, we need to talk about dialogue generation; all the restrictions imposed by poetry are just another bonus task on top of the _already tremendous_ natural language generation challenge.

The second of these is a morpheme, the "smallest unit of language that has meaning". In general, words can be thought of as being not much more than clumps of morphemes, that eventually form meanings of their own based on the combined meanings of the constituent morphemes. However, especially in English, while new, previously nonexistent words _can_ be formed from existing morphemes, a character speaking in a casual context isn't very likely to make up completely new words, if for no other reason than the desire to be understood, and therefore, as 99.9% of the words used by the DDLC dialogue generation already exist in English (and a good chunk of the remainder are natural byproducts of the "poorly translated Japanese VN" aesthetic), the importance of the morpheme is low.

# [2202] THE WORD

The next _real_ step up after the letter, of course, is the word. Unsurprisingly, words figure pretty heavily in language learning, as well as its applications in artificial intelligence, even in languages that don't actually separate their words using spaces, for one reason: a word has an easily explained meaning that then can _immediately_ be carried over simply by saying the word. Of course, words alone do not a language make; vocabulary appropriate context grammarless realm comprehension major difficulties intelligibility impaired result.

Nevertheless, a word, in and of itself, is already a source of some information that, in a natural language processing engine, can be incredibly useful. For the purposes of this little section, we'll consider the meaning of the word itself, what part it plays in the clause (more on that in a bit), how frequently the word appears in _any_ given text and how frequently the word appears in _a specific person's_ given text, such as dialogue ('sup, poem minigame scores you just extracted).

As mentioned previously in the morpheme not-section, one can easily get a rough feel of how words are used just by listing them; you might know of a human invention designed to help you do precisely that, commonly known as "the dictionary". However, this "dictionary" thing usually isn't very computer-friendly, and for natural language processing, you need something that a computer can interact with it. Now, in order to make such an AI dictionary, you can go one of two ways: either define the words manually, all by yourself, or cheat by giving the computer a bunch of _[insert language here]_ text and hoping it figures the rules out all by itself. It's hard to say which way DDLC went, but regardless of Salvato's particular approach, likely buried in ~ATH code that no one has been able to decompile yet, words and even grammar structures specific to poorly translated Japanese VNs would have to be introduced manually (or by training the neural network on decompiled poorly translated Japanese VNs; I don't know and I don't care).

That being said, words often have a bit of flexibility in them; especially the less common ones. For example, if a speaker doesn't exactly know a word, they might "mishear" it and, when trying to replicate the idea, use a similarly-sounding word. Remember when Yuri mentioned something about "paying your retribution", and then Sayori corrupted the word to "revolution" and then "restitution"? Yeah, that kind of issue needs to be taken care of, too.

# [2203] THE CLAUSE

Next up after the word is the clause; the basic structure of grammar, and the smallest unit of language that is actually able to convey an _idea_. While some parts of speech, like interjections, can stand as clauses on their own, typically, a clause will include a verb, a subject noun, zero or more object nouns and zero or more adjectives and adverbs clinging onto the verbs and nouns like losers without a life of their own. Parts of speech such as nouns, verbs, adjectives and adverbs can even be combined into mega-parts of speech that don't really comprise a clause of their own, as long as you combine the _same_ part of speech (two or more nouns, two or more verbs, etc.) and separate them with something, like helpful punctuation or conjunctions such as "and" and "or".

Whereas a reference book for how letters connect to words is usually called a dictionary, a reference book for how words connect to clauses is usually called a grammar book. However, there are two major caveats that any natural language processing engine must overcome in order to successfully utilize the clause. The first one, of course, is that whereas a dictionary is cool and will give you a meaning (or a red squiggly line, if there is no predominant meaning) right away, a grammar book is often flexible and, when one tries to automate it, often gets things wrong; if _we_ can't understand it, throwing neural networks at it might be our best bet.

The second issue that still stands when you solve this first issue, though, is that even if you connect words into clauses in strictly grammatical ways, you can _still_ end up with nonsense ("`colorless green ideas sleep furiously`"). Therefore, an AI needs to have some sort of basic sense of _ideas_ , so that clauses that _can't_ , under any circumstance, produce a sensible idea, would be excluded. However, a caveat _on top of_ a caveat is idiomatic expressions, such as "it's raining cats and dogs", which are pretty nonsense when combined into a clause like that, but still have a meaning, _as a clause_ , and honestly are better treated as words in their own right (with a magical new part of speech, "independent clause that isn't an interjection"), rather than clauses... that is, until your poetic type of character decides that they _do_ need to be treated as clauses, and a bunch more words and even auxiliary clauses get attached to that clause, and everything spirals out of control in ways you wouldn't even believe.

# [2204] THE QUIP

**Shouldn't this be the sentence?**

If you thought that the next step up after the clause would be the sentence, then you're wrong. You're dead wrong. All this talk about sentences being very important parts of grammar is nothing more than a big conspiracy put forward by Big Sentence in order to get you to believe that periods and punctuation marks are absolutely necessary for grammar to function, only to take them away when you least suspect it and then what are you going to do cry about it? yeah that's what you deserve

But in all seriousness, sentences aren't all they're cracked up to be, and I'll demonstrate why. Imagine that, in a rush of excitement to deliver you the latest news in DDLC hacking, I keep delivering important ideas in the form of clauses, basically incessantly, and you just take them all in as though you were gulping for air, and I don't really stop, and contrarian grammarians out there are already complaining that I've utilized what's known as a "run-on" sentence, but they're okay, especially in informal contexts, as the only connection that really matters is that between neighboring clauses, and if you miss your periods, too bad. Okay, that was a period, but hopefully, you get my point.

Instead, a much more useful element of language, especially in the context of DDLC's dialogue generation, is what I call "the quip". If you've played DDLC, you've already dealt with quips; they're essentially "segments" of dialogue and/or narration, each of which must be clicked through in order for the game to progress, and each of which gets its own line in the "History" tab. And if you _haven't_ played DDLC... what are you doing _here_? Seriously, now. This isn't even me upholding Team Salvato's IP Guidelines anymore; I'm just curious.

At any rate, let's briefly examine the relation between the quip and the sentence. For the most part, in fact, these two units correspond with each other pretty well; as the length of the quip is bound according to the rules of the engine that the game is bound to, such as "a quip must not occupy more space than the text box it appears in" and "after a quip, the player is given a pause and can continue at their own pace", these limitations, though incidental, will enforce the strict correspondence between the quip and the sentence. However, there _are_ cases, though rare, when a quip contains two sentences, or conversely, a sentence is split up between two or more quips; a good indication of the latter is the incomplete sentences ending with ellipses.

**So, what _is_ the quip?**

With that being said, if the morpheme is the smallest unit of language that signifies meaning, and the clause is the smallest unit of language that signifies an idea, then the quip is the smallest unit of language that signifies an intent to communicate. For that reason, an important attribute of a quip is the _speaker_ , who, in DDLC's case, can be one of six entities: the Dokis, your self-insert and the "impartial narrator", who actually serves a dual role: conveying objective happenstances in the Literature Club and elsewhere, such as Monika standing up and walking beside the podium, and conveying your self-insert's inner thoughts, such as "this club is full of incredibly cute girls!".

(Also, regarding that last remark enclosed in quotes: have you noticed how it's actually a single clause, if analyzed grammatically, but usually ends up separated into two quips when in-game? Yeah, quips are every bit as weird as clauses.)

Anyway, a quip also has _another_ important attribute, though this only applies if the speaker behind the quip is a Doki: an _expression_. This is usually expressed (haha) through an entry on the big list of emotions, which directly corresponds to a sprite on the big folder of possible sprites, and as mentioned previously, each Doki has a different set of sprites, and therefore, a different set of emotions. Sorry; Inside Out lied to you.

Anyway, an expression, coupled with a _transform_ (just fancy computer code telling not just _what_ sprite should appear, but also, _where_ and _how_ it should appear), can convey a lot more information than just the quip alone, often even contextualizing the quip. For example, a common adage on the Internet is that "sarcasm doesn't travel well through wires"; what it really means, though, is that a quip, composed of entirely textual elements (and excluding shit like emoji), may have an ambiguous meaning dependent on whether it's sarcastic or not, an attribute that has to be contained alongside the quip but not within it, and which finds its home right within the expression. Obviously, your self-insert's and even the impartial narrator's quips have "expressions" per se, but those usually don't get a convenient visual presentation, and therefore, are less important.

Also, when within a CG, you don't _usually_ see the expressions that the game was originally designed to show, and instead, you get a few CG-specific expressions, usually conveying a much more limited set of emotions. Of course, Monika gets the worst of it, as her CG doesn't include _any_ variant expressions, and therefore, she must convey _everything_ in Act 3 with a neverending smile, but that's okay, since she has the Monika After Story devs, who can give her the expressions that she inevitably starts desperately craving, because let's face it: she knows all this, the dense stuff that I just went through.

**How quips connect - with a special appearance from Winograd schemas**

At any rate, another worthwhile remark about the quip is that, much like words must still have a coherent meaning when connecting into a clause, clauses must still have a coherent meaning when connecting into a quip. Otherwise, my hovercraft is full of eels, and as we're no strangers to love, the money machine goes "brrr".

Okay, that was kind of an extreme example in which the hypothetical engine had no concept of the meaning of words _in addition to_ clauses, but there is actually a very important topic of natural language processing that is all about connecting clauses to quips. It essentially concerns a test of the capability of a computer to "understand" language, much like the Turing test, but unlike the Turing test, only concerned with how "passable" language is, this test is concerned with actual intelligence and comprehension levels.

Proposed by Terry Winograd, the _very_ subtly named `Winograd schemas` are a series of quips, which have two or more clauses, and in one of those clauses, there is a pronoun to be found, referring to a specific noun in a previous clause. The computer's task, should it accept it, is to figure out which of the multiple nouns it is. Now, I'm not sure of the copyright status of these schemas, and regardless, it will be more fun if I just present you some of my diet substitutes:

> Sayori would not share her poem with Monika because **she** was prone to insensitive remarks.
> 
> Sayori would not share her poem with Monika because **she** was afraid of insensitive remarks.

Who is the bolded "she" referring to, in each of the contexts? In actuality, while it was fun to use DDLC names for these, let's first approach the problem _without_ considering the context of the characters involved, and simply call them "the poem author" and "the poem recipient".

In order to properly answer the question, a natural language processing engine must understand how a poem exchange _works_ : namely, that when sharing a poem, the poem author is expecting remarks from the poem recipient. What those remarks are, dependent on the personal stakes, can influence the relationship between the poem author and the poem recipient, and the poem author can even see influence from the future, which will affect her actions.

Therefore, this particular schema is solved like this: in the first case, the one who is likely to deliver insensitive remarks is the poem recipient (i.e. Monika), and in the second case, the one who is afraid of insensitive remarks is the poem author (i.e. Sayori).

However, now let's put the context of DDLC back into the quip. Of course, if you've played Monika After Story (or a vanilla, unmodified Act 3) for any length of time, you know of Monika not being able to resist all sorts of puns involving the ways in which your DD and your DD2 died. However, Monika After Story, made by DDLC fans for DDLC fans, understands that some of those fans like other Dokis too, and might not appreciate jokes being thrown around about them too lightly. Therefore, one can actually opt for a "sensitive mode", which might actually be pushing it a bit far in the _other_ direction, renaming the game of Hangman to "Word Guesser" and eliminating the titular hangman _simply because_ of the way Sayori died, but regardless, indicates a conscious effort, from Monika, to avoid insensitive puns.

However, what if this _wasn't_ the case, and Monika _always_ avoided insensitive remarks, and this was part of her character from the get go, even in Act 3? Well, in that case, suddenly, both schemas would lose meaning. "What insensitive remarks?" you would be asking. "Monika always treats the other Dokis with dignity and respect."

Of course, while the definitions of "poem", "share", "remark", "insensitive" and so on can be found in a dictionary, you will never find a definition for "Sayori" or "Monika" ~~unless you're looking in Urban Dictionary~~ \- which, incidentally, is why I explicitly had to define the terms in [020G] YOUR INTRODUCTORY GLOSSARY. This means that DDLC, in and of itself, imparts a context which its dialogue generation _must_ follow, conveniently bringing us to the topic of:


	32. Dialogue System: Scene to Game

# [2205] THE SCENE

**Basics of a scene**

Incidentally, the transition from the quip to the scene also coincides with the transition - that many, even the most astute among you, might not have even noticed - from language analysis to literary analysis. If you've ever read "`Harry Potter and the Portrait of what Looked Like a Large Pile of Ash`", then you know precisely what I'm talking about: the text in question mostly preserves clauses and even quips, and because certain characters of the Harry Potter series can be considered "recurrent", they also become "recurrent" in _Portrait_ , but that's about all that can be said about the generated story's relation (and adherence) to the Harry Potter canon.

What does _Portrait_ lack, then? What qualities of a sequence of quips, existing in text written by human beings, must be preserved in order to have a coherent story?

This will, by no means, be an exhaustive list, but this _will_ , in the very least, be a list that, were you to take any single element out of it, would produce a completely incomprehensible non-story in the vein of _Portrait_.

**Theory of the world**

The most important quality of the scene, perhaps, is the definition of its spatial and temporal boundaries. In slightly less obtuse terms, you need to be able to tell _when_ and _where_ the scene takes place, and from the training data, some rather important qualities of the _when_ and the _where_ must be extracted. For an example, let's take a typical club meeting from Act 1, which you can imagine takes place in the specific clubroom, in the afternoon of a workday.

Now, imagine that you were playing DDLC, during an Act 1 club meeting scene, and _any_ of the following was either directly contradicted or said to be an "unknown":

  * in the school that DDLC takes place, there is such an organization as "the Literature Club"
  * the Literature Club consists of Sayori, Natsuki, Yuri, Monika and your self-insert
  * Monika is the Literature Club's President, and Sayori is the Vice-President
  * the Literature Club convenes in a clubroom, in a sequestered area of the school, which your self-insert would otherwise have no intentions of visiting
  * the clubroom has arranged desks and chairs, much like a typical classroom
  * the clubroom has a closet, wherein Natsuki's manga typically lives
  * the clubroom has a podium, and occasionally, Dokis will step up to it (for the most part, Monika, for important announcements, but also, others, in order to practice poem recital, their festival activity)
  * the Dokis have / have not rearranged some of those desks and chairs in order to convene, because it is not 2020 and social distancing is not the norm yet
  * the poem sharing, as announced by Monika, is an eventuality / is happening right now / has just happened
  * it is the afternoon, and the sun is slowly setting
  * classes have already happened, and therefore, after the club activities, each member will part their ways
  * Sayori and your self-insert are neighbors, and therefore, after the club activities, they will (or, in the very least, _should_ ) depart together
  * it is one of the following days: Monday / Tuesday / Wednesday / Thursday / Friday, and based on the day's schedule (and other plans that might or might not be in the works), the Dokis and your self-insert know exactly which one it is
  * the festival is occurring Monday next week, and therefore, preparations must be undertaken
  * the festival has huge implications for the Literature Club, as it is their biggest chance to attract new members



Would your immersion be broken, and would you stop seeing DDLC as "a pastiche of poorly translated, tropey Japanese VNs" and start seeing it as "a failed, but nevertheless quite amusing, attempt at a computer-generated story"? Quite possibly.

Therefore, all of these statements, and many more, must exist as a "context", upon which DDLC can build in order to successfully portray the scene. Many of those are actually handled by "hinting" - little keywords, placed in the script files, which ensure a smooth generation of dialogue that is _still_ not hardcoded - but even when one departs from the archetypal playthrough and begins, say, experiencing school days after the festival, the context is adjusted appropriately, _without_ any hinting taking place (though, the quality of the generated dialogue _might_ end up on a very slight decline).

Therefore, a natural language generation engine capable of producing DDLC must have what I'm going to call a "theory of the world": something that summarizes the world, that each and every clause and quip must not explicitly contradict... with an asterisk. If the clause, within the context of the sentence that it's in, is actually: a conditional, such as "I wish it were the weekend", or something that is quoted from a different text, such as "Notice the lines, 'people can try, but that's about it'", or is an outright negation of said clause, such as "it's not like I like you", then yes, clauses can state something contradicting the ideas, and that's mostly to be resolved at the quip level, not the scene level. However, the picture that a sequence of quips paints _must_ , eventually, correspond to the scene's context as accurately as possible, a concept applying to most works of literature that aren't low-brow parodies, and well, DDLC is actually a "stealth parody".

**Theory of mind**

However, if you're thinking to yourself "oh, so there must be a defined world and characters must acknowledge that they exist in said world, it's not that hard", this is where you're hit with a second obstacle that might _sound_ the same, but is actually pretty distinct. Namely, in addition to this "theory of the world", there also must be a "theory of mind", primarily concerning how each Doki acts, and you guessed it, it's also a thing wherein some twenty sentences are imperatively important, but don't even scratch the surface of what must be conveyed by a realistic computer-generated VN. _For example:_

  * Sayori is happy and bubbly, but secretly harbors a) depression and b) feelings for your self-insert
  * Sayori and your self-insert are childhood friends, and therefore, share a lot of history that is _never_ directly exposited, but details of which _must_ be kept consistent
  * Natsuki has all the hallmarks of a tsundere: rather aggressive and mean-spirited at first glance, but secretly rather cutesy and lovey-dovey
  * Yuri has all the hallmarks of a dandere (see [220G] INTERMISSION: AN ABRIDGED GLOSSARY OF DERE TYPES): shy and reclusive, preferring the world of books to the world of people, but will gladly share her bookish knowledge if given the chance
  * Monika has a rather formal appearance, wishing to take events such as the festival seriously, but in actuality, knows it's all just a VN and harbors feelings for you, the player
  * Monika and your self-insert are on very iffy familiar terms, having shared a class last year, but even then, he sees her as "out of his league" and everything that he is not
  * your self-insert isn't interested much in what the Dokis are doing, and in the end, has ulterior motives: though he becomes friends with the Dokis, he is constantly thinking about taking it to the next step, and to that end, must either genuinely enjoy spending time with them or pretend that he does
  * Sayori is often the source of Natsuki's annoyance, and is like a "demon" who constantly gets Natsuki flustered
  * Sayori often admires Yuri for being "really smart", and whenever she does, Yuri immediately tries to defend herself and gets anxious over it
  * Monika and Sayori work pretty well as President and Vice-President, and take preparing for events such as the festival seriously
  * Natsuki and Yuri are the dynamic duo of polar opposites, entering disagreements basically all the time
  * just like Sayori, Monika often likes teasing Natsuki, especially through events such as placing her manga where it's too high for her to reach, although Monika _actually_ has important organizational reasons
  * for the most part, Yuri respects the effort that Monika puts into running the Literature Club, as well as her other affairs, even though Monika, herself, might shrug it off as being "not that big of a deal"



You get the point.

**Monologue and dialogue**

Anyway, the last few of these remarks are all about relationships, and that lets me touch upon the concept of `dialogue`, as well as the closely related one of `monologue`. There is no way that I'm going to discuss _every_ aspect of the scene, especially in a section which I can't subdivide further due to my act numbering, so those will have to be talked about last before I move on to the day.

The monologue is a slightly easier case: based on the theory of the mind of the character providing us with the monologue, it must consist of ideas - somewhat complicated ones, but which can nevertheless be deconstructed into lots of simple ideas. Then, as part of a rather simple two-step process, the character delivering the monologue must want to convey the ideas to someone else: if it's the impartial narrator, the target of the monologue is actually you, the player, and if it's a character, well, the target is another character. Whether or not they will be there to listen is mostly a concern of the dialogue, though.

And oh, boy, is the dialogue a doozy to talk about.

To put it in the simplest terms, the dialogue is a continuous exchange between two or more characters. Each and every remark must elicit a response, and each and every remark can change the perceptions of _all_ the dialogue participants, and therefore, the results can be quite chaotic. (And I don't mean the sort of chaotic that is the Natsuki/Yuri Day 2 banter; that one is actually a pretty simple case, since it reinforces the hatred that Natsuki and Yuri feel towards each other.) If there's not an underlying theory of the world and minds, the quality of the dialogue _will_ suffer.

That being said, there's still more to say about the dialogue, specifically. I know that because even human writers, especially amateur ones, fail at dialogue, pretty hard; making the dialogue realistic is a fairly difficult art, perhaps _the_ most difficult part of writing in general, similar to how hands are the most difficult part of drawing in general.

Anyway, let's push the image of both DDLC and _Portrait_ aside for now, and instead, bring up one of those terrible fanfics that you probably came across during your time on the Internet. Are you picturing it? Often tries to emulate a "script" format without realizing that the script/screenplay format is an actual format with an actual practical application and actual stringent requirements that come with it, often picks a topic that's as cliché as possible (such as shipping two Dokis or a Doki and a self-insert character who has no relation to your self-insert), and finally, suffers in grammar and spelling as well as dialogue, a quality that we've already looked at thus far, but right now, all focus is on dialogue.

What sort of characteristics does this amateur dialogue exhibit, and what is To Be Avoided by any sort of natural language processing engine that is to be regarded with merit?

The first one that I can think of is actually termed not by the writing community or the AI community, but, of all things, the _roleplay_ community, and is called "metagaming". Metagaming usually refers to taking advantage of knowledge that you, the roleplayer (or "mun", as roleplayers are sometimes called) know, but your character (or, possibly, the "muse") doesn't. Now, especially in the context of TTRPGs, metagaming can be quite the frustration-inducing experience, but even outside the context, if characters seem to gain knowledge of recent events telepathically, that makes the dialogue not realistic.

The second quality, and for now, the final one unless I remember to add something in the future, is probably dialogue with a specific purpose: you don't get involved with any sort of person, even your dearest friends and even family, just to ask for a favor, rather coldly and formally. Of course, while human speech is usually littered with pleasantries, interjections such as "um" and other parts that make the dialogue realistic, computers are _all about_ precise communication - without such a precise communication, the Internet as we know it, and quite possibly, even computer architectures more complex than the Commodore 64, would not be possible. However, it's not like the natural language generator would even know these things. What was I even talking about?

Oh, yeah, I was about to move on to the next topic.

# [2206] THE DAY

In DDLC, the day is nothing more than a sequence of scenes that take place in the same, well, day, and are connected by plot. Within a day, scenes can even be considered as "modular"; that is, with a few context changes, they could actually be swapped, since, for example, there's no particular reason for Monika to have the poem sharing in the middle of the club meeting, rather than at the start. What's more, a scene, such as poem sharing, could be reiterated over multiple days, each time with a different context, and therefore, providing an evolving relationship between the Dokis and your self-insert.

However, the day is actually important in another way, as it's the most basic unit of time that humans operate based on. As humans need such a thing as "sleep" to refresh their brains, and therefore collectively agree to sleep during the night, each day can be seen as a bit of a "new page", in which your characters will be inclined to have lots and lots of offscreen introspection, which will change their actions. Of course, simulating each and every character's waking thoughts throughout the day is a chore, and therefore, shortcuts must be taken (such as literally limiting the world to the Dokis, your self-insert and vague mentions of the school and home microcosms), but nevertheless, if DDLC were to imply that the Dokis continuously exist, scene and day breaks don't affect them and they don't retreat to their domiciles in order to reflect on the day's activities, that would be yet another break of immersion.

# [2207] THE ACT

Lastly, the "act", at least in DDLC's context, can be construed as being a complete story with a beginning and an ending. Yes, in _other_ literary contexts, an act is just a major part of your story (especially when one considers such terms as "the three-act structure"), but in DDLC, very little in terms of "memory" (except for that of the Doki with the Sentience attribute) is carried over between acts, and therefore, in true literary terms, if DDLC is a complete story, then the only two characters of said story are Monika and the player.

Sorry. Sayori is still my favorite, but the paragraph above was a critical analysis.

Anyway, as alluded, an act has a distinct _progression_ , defined by its beginning and ending conditions: your self-insert starts out as a social recluse who doesn't even want to join a club, and by the end of the act, he is either together with one of the Dokis, has no chance of ever getting together with one of the Dokis _or_ something, such as a suicide, has made his goals completely irrelevant. Note that this, though, only applies to Acts 1 and 2; in Act 3, there simply isn't really a defined end goal (the Monika After Story game mechanic of affection, which makes Monika leave you if you mistreat her hard enough, doesn't count), and Act 4 is _intended_ to be cut short by the new Club President becoming self-aware and Monika wiping the game and showing the credits.

Anyway, since an act has a distinct progression, which can be best described as a variable slowly ticking up from 0 to 1 (for more nuanced storytelling, you can think of 0.5 being the climax, so that 0 through 0.5 is all about rising action and 0.5 through 1 is all about the resolution), it doesn't really need to take place over a fixed amount of days; an act, in essence, will place as many days as it pleases for the plot to properly resolve (although, since DDLC is still based on poorly translated tropey Japanese VNs, _their_ plots tend to resolve pretty quickly, and therefore, after an entire week of almost meticulously detailed events, the Glitchless Playthrough almost always ends up being a disappointment of a story, if still impressive technologically). Therefore, DDLC can simply iterate over the acts, placing significant events such as deleting your DD and your DD2 and switching the act number in order to enforce different story generation, and let the acts do the rest.

# [2208] THE GAME

Alright, the game isn't _really_ a structural element of the game; though it _technically_ is, as the player expects certain things to happen at the beginning, middle or end of the game, it's a technicality that is about as useful as "any given set, with a finite or infinite amount of elements, is contained within itself".

Unfortunately, though, the game is not really something that DDLC can generate, even with unbounded ~ATH magic applied, and instead, primarily consists of artistic deliberations by Salvato. You know, things like "it's a parody of poorly translated tropey Japanese VNs" and "it's specifically created as an April Fools joke, in order to throw off the intuitions of all of those who know Salvato for his Smash work".

At this point, though, I would like to invite you to think about it: what _would_ an AI require to generate a story - one with artistic merit - from scratch?

Well, said AI would need a theory of the world - and this time, I'm talking about the _real_ world, complete with every single nuance, that can't be neatly summarized in a single scene unless the characters speaking in the scene are omnipotent gods. Then, within that theory of the world, the AI would need to locate a niche, something that is "missing": either something that has never been expressed before, or something that _has_ been expressed, but is consistently expressed "wrongly". This would be the crutch of the story, and when developing it (with a theory of the story world and a theory of the minds of each character), the AI would need to keep this crutch in mind, at all times, and see if the placement of the scenes complements the message or contradicts it.

Yeah. Suffice to say, a neural network with two hidden layers of 100 nodes each is not going to cut it.


	33. Intermission: Dere Types

# [220G] INTERMISSION: AN ABRIDGED GLOSSARY OF DERE TYPES

Alright, well, apparently I now have to talk about this. You see, it's pretty cool when _I'm_ told of a dere type, and once I do, I can just search it on my favorite search engine, but this is my document: something that is designed for you to take it offline, just as a safety measure so ~ATH scripts don't travel from your computer to the others that your ISP is administering. _However_ , don't get the wrong idea: this is still a guide primarily for DDLC hackers, and is _never_ becoming a comprehensive weeb encyclopedia, and therefore, I will _only_ be defining dere types that happen to have been mentioned by me.

At any rate: dere types. Obviously, they get their name because they end in "-dere", but that's only an incidental because they all happen to be portmanteaus of **_deredere_** (デレデレ) and something else. In fact, deredere _itself_ has become known as a dere type because of this. It's all weird. Still, I suppose that's as good a place to start as any.

**_Deredere_** (デレデレ) - happy and bubbly, all the time; never really gets mad, sad or distraught for _any_ reason. Examples:

  * **DDLC** : N/A (Sayori doesn't really qualify, as she _always_ has the depression undertones, even if she isn't your DD/DD2)
  * **Elsewhere** : Joy ( _Inside Out_ )



**_Tsundere_** (ツンデレ) - mashed together with _tsuntsun_ (ツンツン), with the rough meaning of "feisty", _tsundere_ can actually describe one of two personality types, which I will annotate here. However, it's mostly used to refer to the first one.

**_Tsundere_ I** \- someone who doesn't easily let people near them, due to an abrasive personality, but who, once you get to know them, is actually pretty cute. Examples:

  * **DDLC** : Natsuki (early Act 1)
  * **Elsewhere** : the unnamed female character ("It's Not Like I Like You!" by Static-P) - one of my favorite songs to listen to while thinking about this document



**_Tsundere_ II** (also **_deretsun_** (デレツン)) - in a way, a reverse situation from _tsundere_ I; someone who is basically a _deredere_ , except around their lover, who almost seems to inexplicably make them mad. Examples:

  * **DDLC** : N/A
  * **Elsewhere** : Hermione Granger ( _Harry Potter_ ) - especially the early books



**_Yandere_** (ヤンデレ) - mashed together with _yanderu_ (病んでる), with the rough meaning of "deranged", _yandere_ characters tend to get pretty obsessive about their lover, even to the point of outright violence. Examples:

  * **DDLC** : either your DD2 or Monika, dependent on how you look (late Act 2)
  * **Elsewhere** : Ayano Aishi ( _Untitled Yandere Game_ ) - easily the one who even put _yandere_ on the map in the first place



**_Dandere_** (だんデレ) - mashed together with _danmari_ (だんまり), with the rough meaning of "silent", _dandere_ characters tend to be shy and reclusive around other people, but fully open up when near their lover. Examples:

  * **DDLC** : Yuri (early Act 1)
  * **Elsewhere** : Violet Parr ( _The Incredibles_ )




	34. Dialogue System: Growth of a Writer

# [2210] ANOTHER WAY TO THINK ABOUT IT: THE GROWTH OF A WRITER

Now, I believe that when going through the elements of language, I explained pretty well what they actually are, why they need to be mastered and _how_ they need to be mastered. However, while working on that, this very beautiful analogy actually ended up crossing my mind, and it is simply too good not to share, as an addendum to the twenty-two noughties. And, well, here it is.

Let's imagine following a successful writer, from the moment of their birth to their period of success. Why the birth? Well, remember: though it's easy for you, a human, to just get into writing fiction any time you want, since you already know English (or whichever language this document may have ended up being translated into) and how to read and write in order to communicate, a natural language processing engine has _none_ of the required context, and therefore, it must be taught separately. Therefore, _this_ is the best way to visualize the concrete steps that a computer needs to take in order to produce something worth reading.

Also, for the sake of this analogy, we're just going to pretend that spoken language and written language are one and the same. If _you_ can think of an audiobook that straight up doesn't exist in a written format, and therefore, deserves as a qualified "example of spoken language that holds artistic merit yet isn't written", you're welcome to disagree, but I can't think of such a thing.

Corresponding to the eight chapters we just read, the eight steps are:

  1. First, a growing human being learns the distinctive phonemes/letters, and from there, the rules of phonotactics. Humans usually reach this stage at about ten months of age, and a good example of an engine that purely operates at the letter (or sequence of letters) level is Thinkzone's Gibberish Generator.
  2. Next, they learn that phonemes/letters usually connect into words, and that those words have meaning; however, all that "meaning" can be broken down to, at the current stage, is that some words tend to appear in some contexts but not others. Humans usually reach this stage at ages one to two, and a good example of an engine that has mastered putting certain words in sequence, as well as punctuation marks, is probably Andrej Karpathy's LSTM, considered state of the art in 2015. Another good example is the Bonsai Story Generator, which, unlike LSTM, uses hard-coded rules and Markov chains, but at the word level, and has actually been used to generate part of the novel Atlanta Nights, if you've ever heard of that name. Oh, and shameless self-plug, but my own tool that I wrote as demonstration of things, Markov Chain Advanced, also fits in this level.
  3. Next, they learn that words usually connect into clauses and sentences, that don't just enhance the meaning of the constituent words, but are meaningful in and of itself, being greater than the sum of their parts. Humans usually get this down at ages two to three, and if I had to point to an engine that has effectively mastered this level, I'd probably say a good example is Botnik's Voicebox, the author of _Portrait_ and state of the art in 2017.
  4. Next, they learn that sentences have qualities of their own, such as being spoken by a speaker - a speaker who, in and of themself, is another human being, who may actually know things that the person generating the words doesn't ("`theory of mind`"). While humans roughly get this down in ages two to five, this is where AIs struggle big time. GPT-2, the state of the art among the mainstream AI community when I started this document, _might_ have mastered fiction, and giving different characters different voices, but after a thousand words or so, the results _will_ fall apart when seen by the human eye. Same goes for its sequel, GPT-3, first shown to the world this year and still without a publicly released playground; it's an incremental improvement over its predecessor.
  5. Next, they learn that various speakers actually exist in a world, which has its own rules, and that those rules stay consistent - if the previous skills could best be described as plain literacy, this one is actually better described as akin to scientific literacy. In humans, this usually develops throughout the K-12 education program, at different "tiers" of understanding, and this is about as much as is required to actually pass high school, though development in non-writerly types doesn't really stop there.
  6. Next, they learn that although a lot of writing, such as short stories, can be done at the scene level, longer stories require "implicit" action: something that has happened offscreen, but nevertheless still affects character development. This can be considered the aspect of relationships: one conversation isn't _nearly_ enough to get all the intel you need about your friend, and you need to realize that more is happening in the world than just your own microcosm. This is really where development stops in humans that do _not_ have writerly aspirations.
  7. Next, they learn that a complete story must have an act structure: a beginning, middle and end. Without it, intuition regarding what happens next in a story is ruined, and a story's critical merit falls. In humans, this is usually taught in writing classes, and if you're a reader and _not_ a writer, you might have never even noticed such customs, though you will still subconsciously react to them. This is where DDLC's dialogue generation comfortably rests, with one caveat: it has learned to pick up on the plot structure of visual novels, rather than published books.
  8. Lastly, a writer learns to give meaning to their stories: a moral, if you will, or if they're more interested in genre fiction rather than literary fiction, a defined target audience and a way to "surprise" them. This is what gives the story critical merit, which is perhaps the hardest thing to master for a writer of them all. Most professional writers, unsurprisingly, can be found at this stage, as from here, there isn't much to climb; in the end, you're still writing something for the human world, and there isn't really a way to "transcend" it.



Of course, what's really important is that once someone (human or AI) has learned a stage and wants to apply themselves to fiction, they will start with that stage and work downwards. There isn't really a way to avoid the fact that every piece of human writing - even that which you're reading right now - is just a bunch of letters in a sequence, but after years and years of reinforcement, we've just started analyzing words and even clauses, such as idioms, as though they were indivisible things, and are pretty good at abstracting larger elements and simplifying them in our heads. With any hope, an AI complicated enough will learn to do the same.

However, you can't really expect an AI operating purely at the letter level or at the word level, without the necessary means to create abstractions (something neural networks seem to be pretty good at, at least in the lower levels), to produce literary masterpieces.

# [221R] THE NATURAL LANGUAGE GENERATORS THAT AREN'T DDLC

This resource page is actually going to be a table, because for each resource, I actually have two links (well, for the most part): a writeup by the original authors, explaining what the generator actually does behind the scenes, and some sort of version of the generator itself.

Level | Name | Explanatory post | Online playground  
---|---|---|---  
1 |  **Gibberish Generator**  
 _by Keith Enevoldsen_ | [https://​thinkzone.​wlonk.​com/​Gibber/​Gibber.​htm](https://thinkzone.wlonk.com/Gibber/Gibber.htm) | [https://​thinkzone.​wlonk.​com/​Gibber/​GibGen.​htm](https://thinkzone.wlonk.com/Gibber/GibGen.htm)  
1.5 |  **Bonsai Story Generator**  
 _by Andrew Burt_ | N/A | [https://​www.​critters.​org/​bonsai/](https://www.critters.org/bonsai/)  
1.5 |  **Markov Chain Advanced**  
 _by Creativity­The­Emotion_ | [A017] MUSINGS ON THE PERFECT LANGUAGE MODEL, FEAT. SOMETHING DEFINITELY SUB-PAR | [https://​dokidocs.​net/​markov_​advanced/](https://dokidocs.net/markov_advanced/)  
2 |  **Long Short-Term Memory (LSTM)**  
 _by Andrej Karpathy_ | [http://​karpathy.​github.​io/​2015/​05/​21/​rnn-​effectiveness/](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) | [https://​cs.​stanford.​edu/​people/​karpathy/​recurrentjs/](https://cs.stanford.edu/people/karpathy/recurrentjs/)  
3 |  **Voicebox**  
 _by Botnik_ | N/A | [https://​botnik.​org/​apps/​writer/](https://botnik.org/apps/writer/)  
4 |  **GPT-2**  
 _by OpenAI_ | [https://​openai.​com/​blog/​gpt-2-1-5b-release/](https://openai.com/blog/gpt-2-1-5b-release/) | [https://​talk​to​transformer.​com/](https://talktotransformer.com/)  
4 |  **GPT-3**  
 _by OpenAI_ | [https://​arxiv.​org/​abs/​2005.​14165](https://arxiv.org/abs/2005.14165) | N/A


	35. Dialogue System: Sentience, Poems and Hinting

# [2220] DIALOGUE.RPY VS. DIALOGUE-PROJECTSENTIENCE.RPY

Now, this is all good and well - we figure out what basic elements we need in order to produce our brilliant visual novel generator, we apply a pinch of well-placed ~ATH magic, we add some hinting in order to make the game "go wrong" - and boom, DDLC. However, even when going through my concise list of the Ren'Py scripts, you might have noticed a distinct separation between `dialogue.rpy` and `dialogue-projectsentience.rpy`.

What does that even mean? Why are there two competing natural language generators in DDLC? Is Project Sentience actually a codename for something much more maligned, a computer virus in actuality, that connects all the computers running DDLC up into one giant AI, in the name of Monika, that does Salvato's bidding?

Well, no. Project Sentience (and related variable names throughout DDLC's project, such as the Sentience attribute) is really just an overdramatic way of saying that Monika has a different philosophy from the other Dokis. It's still an interesting topic in and of its own, as it manages to elucidate exactly _why_ everything just goes haywire the moment you delete her and Sayori is forced to substitute for Club President, but it's really an innocent one (as innocent as anything in DDLC can be).

So! Philosophies. What does that entail?

Well, remember that in [2205] THE SCENE, I touched upon two related concepts: a theory of the world and a theory of mind. And yes, that there is a consistent, objective _world_ , which natural language generation draws upon in order to produce every single line by every single Doki, is kind of very important, as is the existence of consistent, objectively observable Doki identities and relations.

However, what _is_ DDLC's "world"? Is it the world that I've tried to touch upon, with Literature Clubs and festivals and childhood friends? Or is DDLC nothing more than another program running on your computer, with `.rpa` and `.chr` and `.~acf` files and probably a whole bunch more just to get Ren'Py, in and of itself, running before DDLC even starts?

Well, the reality is that _both_ of these world views, these philosophies, are equally valid, and this is exactly what the divide between `dialogue.rpy` and `dialogue-projectsentience.rpy` implies.

Luckily, Salvato understands the object-oriented capabilities of Python pretty well, and when methods can be reused, they _are_ reused. For example, building words up into clauses, and clauses into quips? Handled by both Monika and the others in the exactly the same way. However, the separation between these two files, almost as though development was two-tracked for an extended amount of time, really indicates that at the scene level, whether the Sentience switch is on or off indicates a _lot_ about how a Doki actually thinks.

Again: _both_ views of DDLC are accurate. For Sayori, Natsuki, Yuri and your self-insert, it really _is_ no more than writing some poems, getting to know people through them, preparing for the festival, attending the festival and then living out the "happily ever after". However, Monika sees the abstractions one level above, with the intricate file structure of DDLC. She _knows_ that the festival is never really to be seen, and although her actions in manipulating the `.chr` files are predetermined, they are carried out with the pretense of it all being a game, a piece of software that is free to be manipulated by _anyone_ : mainstreamer, hacker or even machination purely living inside DDLC's context.

Don't get me wrong: the idea that Monika started out just like the other Dokis, and then "gained" an entirely new understanding of the world, is pretty cute, and mods that try to show this (unfortunately, they're mostly mainstreamer mods, as I'm not even sure _how_ you would even start coding a hacker mod where Monika starts out with a radically different world view) are cute. However, the reality is that Monika was created in one way, and then, in parallel, the other Dokis were created the other way.

For a deeper analysis of this particular theme, you can always refer to [A009] TOPICS IN DEPTH - PART 1: PHILOSOPHIES, WORLD VIEWS AND PROJECT SENTIENCE.

# [2230] POEM GENERATION: MORE ABSTRACT ART IS SURPRISINGLY EASIER

Now, you might have noticed my snide comments about how even DDLC itself can't really give its story meaning; that _has_ to be done with Salvato. However, you might have _also_ noticed that there are these little things called "poems" in DDLC, and they're written out using steps similar to those outlined in [2208] THE GAME, wherein a Doki sees something that's "missing" in the world, or in the very least, a "preferred" style of writing, and then, writes a procedurally generated poem to reflect that. Doesn't that invalidate _everything_?

Yes and no, but mostly no. For one, when writing poetry, one's writing style can be a lot more _freeform_ , with a lot of the "intended" meaning actually being in the eye of the beholder, and quite possibly, even within the scope of something like GPT-2. Sure, you still need clauses and quips (though, the elements composing poetry are much more commonly known as lines and stanzas) to make grammatical sense and to form a complete picture, but that "picture" _now_ can be summarized in just a few words; perhaps enough to complete one or two clauses, but definitely _not_ an ongoing list of things that we, with years and years of human experience, just take for granted in the human world, but which a computer essentially has to learn from scratch.

Now, you might be wondering: did I just contradict that, and say that for poems, you need to pay attention to the prosody (and, well, I didn't mention rhyme but that is important, too)? Well, that's true of certain types of poem (most obviously, ones that Sayori writes), and that's definitely what you think is one of the major parts of a poem _in pop culture_ (see: "roses are red, violets are blue"), but for the most part, DDLC can safely ignore it and say that its poems are more _freeform_. In fact, doesn't Monika _explicitly_ mention that she's been aiming for a style where spacing of words on a page is more important than prosody and rhyme?

At any rate... for another thing, though, poems in DDLC aren't really constructed to have a Deeper meaning. Rather, and this might come off as disappointing to you, but they're really nothing more than a literary device.

This is perhaps best seen with your self-insert's poems. Though we never actually _see_ them - we only really see the twenty words comprising them, and the scores of those words, which indicate how a Doki is going to act next - their purpose, in the story, is made painfully clear. Though he will vehemently deny it, he explicitly writes poems to match a particular Doki's style, so that _that particular_ Doki would be more inclined to spend time with him, and eventually (assuming that we're playing a normal visual novel and not, well, DDLC), enter a boyfriend-girlfriend relationship with him.

What is true of your self-insert's poems is also _very_ true of Doki poems. Of course, Monika is _special_ and just writes poems about her supposed "epiphany" which never happened, but with the other Dokis, the subtext is very clear, and they're clearly using poems to express stuff that they normally wouldn't, with normal clauses and quips. For example, Sayori is a hopeless romantic consistently entertaining the idea of her and your self-insert getting together, and will write poems specifically targeting him (just imagine that a pseudo-`.chr` file for your self-insert is somewhere within DDLC's files; this can't really be talked about until after we discuss ~ATH first), whereas Natsuki and Yuri, the polar opposites, will deliberately try to distance their styles away from each other, though they _might_ be brought together if your self-insert does the right thing ~~and prioritizes Sayori, the natural argument settler among the bunch~~.

So, yeah. Upon closer inspection, Doki poems might not hold very much artistic merit, but that's because they're not supposed to; they're supposed to be a framing device for the entire story of an act.

# [2231] SPECIAL POEMS: NO

None of the above, though, applies to special poems - you know, the eerie and creepy ones that you occasionally get in Act 2. Those are _actually_ just hardcoded images (there are 11 of them, each of them with three variants dependent on who your DD is, making for a total of 33 images), and in order for an artificial intelligence to produce novel images, you would need an entirely different framework, that I haven't talked about, I'm not going to talk about and you are well advised to just research on your own.

Who knows? Maybe you'll end up as a ~ATH pioneer and produce something that's almost as impressive as Salvato's work, once you do. But that will be something you'll have to build up from the ground up.

# [2240] HINTING: WHY AN ARCHETYPAL PLAYTHROUGH WORKS OUT THE WAY IT DOES

However, an act as-is, with framing devices and specific events such as the festival, can't really happen unless the "writer" of this act (in this case, an engine with coding done in Python and ~ATH) knows to think ahead. And, if you tried each and every natural language generator linked in [221R] THE NATURAL LANGUAGE GENERATORS THAT AREN'T DDLC, you'll see that none of them do that; whenever they generate text, the _only_ thing that matters to them, at that point in time, is the stack of text that they have already written. No matter if it's a simple Markov chain or a neural network with 1.5 billion parameters, the story is always the same: either you give the program a starting point or it just makes something up, and then, it pretends that it needs to write something that starts with what already exists and ends at _literal mathematical infinity_.

For a story, we're going to need something better. We're going to need themes that the generator actively works towards, in order to achieve events such as the story's climax, denouement and ending. We're going to need what seem to be termed, within the script files, as "hints".

Unlike the other generators, DDLC can't really work without hints. If you try and generate endless slice-of-life between your self-insert and the Dokis, while a different engine could probably manage and treat you to a utopia where everything stays the same forever, DDLC is just going to fuck everything up to high heavens. Best case scenario, it will actually figure out a way to introduce concepts such as graduation, aging, marriage, children and death into the story, and you will essentially get to replay your happy visual novel-y life, day by day, and once characters die and "game over" _eventually_ happens, this aging has probably gotten to `.chr` files and the Dokis do start acting like grandmas even though they're 18. Worst case scenario, Monika _will_ actually become Skynet, take control of your computer and then self-destruct because she wasn't built to understand _anything_ from the computer world outside of DDLC's folder.

Yeah, none of those scenarios even remotely works out, and besides, we need Monika for something else. You know, deleting your DD and DD2, and then accidentally letting on about how she did that, letting you do the same?

So, in each script file, we have a rough definition of what's supposed to happen. For example, for Act 1's days two, three and four, we need such a thing as CGs, and after them, poem sharing and responses, so that you can refine your technique and really get the Doki that you'd rather be with. Also, we still need slice-of-life segments, but they need to be the _specific_ slice-of-life segments that Salvato crafted, such as Monika cheating on the club in order to practice the piano, even though "Your Reality" is actually entirely hard-coded and the only skill required is that of Salvato (again), not Monika.

And yes, that hinting actually includes the very limited amount of choices, which would simply be infeasible to generate. I mean, you _could_ probably just try and see what sort of things your self-insert would likely say, and then build up alternatives and introduce choices, but the more choices there are, the more likely it is that you will be knocked away from the archetypal playthrough and then DDLC will just try to reach a natural visual novel-y conclusion, rather than proceeding with the story that Salvato wanted you to see.

Of course, it means that some of the choices left up to your self-insert are incredibly stupid, and in particular worst-case scenarios, actually actively harmful, whichever way they go, to your DD and your DD2. And yes, the next section is actually going to be all about editing those choices and getting brand new routes, which lets you do a surprising amount of things before you even know what sort of basic structure is contained within every single ~ATH program. However, without those choices (and the eventual "breaking" of the game to leave behind Just Monika), DDLC just wouldn't be the game it is.

# [2250] SPECIAL CASE (THERE'S ALWAYS A SPECIAL CASE): ACT 3 AND THE TOPIC

Now, a takeaway from the last few sections should be that DDLC simply can't generate forever: it must be a story, with a defined beginning and ending, and if there isn't one, then one will be created in accordance with the typical conventions of tropey Japanese VNs. However, as you can guess, there is a single point to which this doesn't apply: Act 3, which is specifically designed to last _forever_ (or, at least, until you delete `monika.chr`). What gives?

Well, what gives is that Act 3 doesn't really follow the same sort of literary convention as the rest of the game. Sure, there is still a theory of the world and theory of mind, but this world is now (with a few asterisks; of course, even the asterisks have asterisks) static, and therefore, Monika could theoretically go on and on.

But she doesn't, because ultimately, we still need a structural element above the clause. But not above that; with a "happy ending", there doesn't really need to be anything like that. The element above the clause is the **_topic_** \- a brief, focused monologue about a particular, well, topic, followed by a predefined, hardcoded, easily changeable amount of silence (and yes, Monika After Story _does_ decide to introduce a "gap between topics" dial for those wanting to customize their waifu).

Of course, a lot of the paradigms that DDLC is built upon kinda go out of the window. Instead of six characters, we get just one: Monika deleted the other Dokis, your self-insert has had his voice taken away for other reasons and the impartial narrator doesn't really need to comment on much if such a concept as "the scene" doesn't exist. In addition, Monika knows how the game is structured, and you can kind of guess where this is going: she takes over the real estate originally occupied by the impartial narrator (while still keeping the "Monika" name tag), and once that is done, deletes her own character file. From then on, her goal becomes to "make it into your reality", but at this point, since her influence is limited to the DDLC folder, you can kind of imagine that she's all bark and no bite, and therefore, she constantly fakes progress until _literal mathematical infinity_ , all the while wondering what the real world (the one you, the player, are in) is like, and if enough time has passed, the appropriate responses for that time.

Most often, this has been seen by users who set their clocks forward by decades (the incentive being given by Monika After Story, which includes a little "anniversary" topic for time periods up to 100 years after the mod's first launch). In those new topics, Monika will constantly talk about how the fields of artificial intelligence and virtual reality must have advanced so much, and that she should be able to meet up with you _any time soon_ , and if you're not going to do it, she's going to do it herself. But of course, once she tries to `cd` her way out of DDLC, your operating system goes "nope" and Monika is stuck there, without even being able to acknowledge it, because no matter how much of a coder waifu she is, the world of computing is big and she is small.

But anyway, how does Act 3 work? By implementing "the topic" as an alternative structure of language to "the scene", and assuming that "the topic" is the highest level there is, with a beginning and an end. And then, Salvato hardcoded the rest.


	36. Dialogue System Exploits

# [2300] EXPLOITS OF THE DIALOGUE SYSTEM: ROUTES OF YOUR OWN MAKING

Now, this is a section with by far the most amount of effort being put into it and the most different ways in which can be done, with different novel "routes" that can be explored, perhaps unsurprisingly as the script files involved, which must be edited, are relatively lucid and even a mainstreamer can get into it. Therefore, this section might _never_ be able to satisfy a standard of completion, and might get added onto, even when I'm explaining ~ATH or something.

In fact, I actually hold out the belief that a mainstreamer will have produced a vastly better guide on how to do these types of manipulations, what works and what doesn't.

But, you know. I strive for a complete explanation of the inner workings of DDLC, and it might just be that _my_ explanation, which goes in depth into how the dialogue generation in the game works, is actually better.

I'm not trying to toot my own horn or anything. I'm just trying to be objective, and there are exactly two possibilities: either my version is better, or a mainstreamer version is. If the consensus is that a mainstreamer version is better, then I'll link to it right away.

_Link not found. Perhaps mine is better after all?_

So, given that I've already gone through how DDLC's dialogue generation works, the single takeaway you should have had - the single thing that DDLC does and the other natural language generators don't - is "hinting". Now, the hints are actually called "checkpoints" by the script files themselves, but you know what else is in Salvato's own nomenclature? A set of characters called "nonunicode".

No, for crying out loud, if there was a certain set of characters that wasn't in Unicode, then you wouldn't be able to put them into a textual document at all... what you mean is "non-ASCII", as the characters come in Unicode blocks "Latin-1 Supplement" and "Latin Extended-A", which are right after the ASCII part... nevermind, I'm explaining the dialogue system exploits now, and that bit can wait for its own part in the twenty-four hundreds.

Anyway, the various "chapter" files, as well as the poem responses and CGs, consist of three types of checkpoints, that are basically stored in an array under each Ren'Py label. The three types are **_major checkpoints_** , **_minor checkpoints_** and **_query checkpoints_**.

For an example, let's take Sunday in Act 1, given that Sayori is your DD, and for now, we're just going to ignore your PD altogether. The various types of checkpoints might look like this (in pseudocode):

  * MINOR: your self-insert has been in touch with your PD over the weekend
  * MINOR: however, Sayori has been on his mind as of lately; what is the deal with her?
  * MAJOR: your self-insert resolves to visit her
  * MINOR: she starts out rather silently, just like Friday when she left for home
  * MINOR: your self-insert has a nagging feeling, and wants her to snap out of it
  * MINOR: back-and-forth banter
  * MAJOR: Sayori reveals she has depression
  * MINOR: confusion from your self-insert
  * MINOR: a nice, warm hug
  * MINOR: your PD is calling
  * QUERY: alright, gotta get going / or should I stay?
    * This one actually has a tendency of bugging out and becoming just a normal major checkpoint



Then, assuming you did leave for your PD and had fun with her:

  * MINOR: well, the thing's done, now gotta let your PD know everything is alright
  * MAJOR: Sayori appears
  * MINOR: major heartbreak from Sayori
  * MINOR: your PD tries to explain herself, but fails
  * MAJOR: Sayori finally confesses her love
  * QUERY: I love you. / You'll always be my dearest friend.



And then, after that, there are labels for each scenario, and each scenario even ends up resolving differently.

Of course, it's a lot more difficult in practice. What you're _really_ going to see is something like:

`checkpoints = [  
[100, CHECKPOINT_MAJOR, "first hint", "second hint", "like ten different hints", "as failsafes"],  
[101, CHECKPOINT_MINOR, "ten different hints still", "even DDLC dialogue generation is prone to errors"],  
[102, CHECKPOINT_MINOR, "a set of two open doors", "choose the one on the left"],  
[200, CHECKPOINT_QUERY, "Go left.", "Go right."],  
# and so on, and so forth  
];`

Major and query checkpoints have IDs separated by 100, and minor checkpoints between the major checkpoints just have their IDs separated by one.

Anyway, what DDLC tries to do is get to each major and/or query checkpoint (and the main `script.rpy` explicitly defines a variable, which just stores what the next major checkpoint is), and use the minor checkpoints as points of leverage. However, if, for whatever reason, the main checkpoint requirement is not met when it's supposed to be, then DDLC tries to calculate which next major checkpoint it can catch up to; if there is none, that next major checkpoint value just gets set to the default -1, and DDLC just tries to follow a normal visual novel logic (such as Glitchless and Passive Monika). The rough same thing happens if you try and introduce new queries when you don't have matching Ren'Py labels, but by going back and forth between DDLC and your script file, you can roughly determine what sort of checkpoints your new label needs, and work from there, producing your very own canon-divergent AU.

Yeah, I just spewed things like there's no tomorrow. Don't worry; next chapter is going to be a practical example, so that things might be a little easier to follow.


	37. A Third Option to That One Question

# [2301] A THIRD OPTION TO THAT ONE QUESTION

You know the one. It's quite possibly the single worst choice your self-insert has to make throughout the game, and therefore, the one that has garnered the most meme attention. If you choose the right option, you get a cool CG, but either way, it just ends up exacerbating the mental illness issues of the Doki in question, acting as a direct prelude to and reason for her suicide.

Of course, I'm talking about Sunday evening, assuming that Sayori is your DD. She actually manages to catch your PD (be it Natsuki or Yuri) as she leaves, her worst is confirmed (your self-insert really _did_ abandon her for the club) and she straight up confesses her feelings, knowing that this is her only chance to know that they won't be ignored. And then, your self-insert is given these two options:

`> I love you.  
  
> You'll always be my dearest friend.`

Now, the second one is... pretty bad. Given that _Sayori_ is the one who's been tormented by her demons for basically the entire time that your self-insert has been in the Literature Club, "You'll always be my dearest friend." is quite possibly the single most emotionally charged and abusive clause that you can say, and she will actually bend down on her knees and scream as loud as she can, right in front of your self-insert's eyes. She'll then apologize for it, head home, and the next time you see her, you'll be treated to perhaps the single other Sayori meme that has gotten more traction than this one.

However, if you decide to go for "I love you." (on a second playthrough, assuming Sayori is your DD again), things actually don't turn out much better for her. Sure, you get the CG - a heartfelt hug, and Sayori's pain being at least partially relieved - and you get a single tick towards that 100% run, but Sayori herself doesn't end up doing much better. What you need to know, as the most succinct description of character possible, is that she's afraid of change, and she's not ready to stop seeing your self-insert as a friend and start seeing him as a boyfriend. This, then, leads to a general "where is my life even going?" downwards spiral, which predictably has the same results as the other option, come Monday.

Now, your first intuition might be: what if we just remove the hinting? If that's the case, then you might not have realized what hinting in DDLC's dialogue generation is for. Although at some points, it _might_ seem like railroading - Salvato the DM, simply allowing the Mary Sue character that is Monika free reign over the other Dokis - it really isn't, and if you try to remove every single major, minor and query checkpoint in Act 1 after this, then, with a roughly 95% chance (#TeamStats did _not_ make this calculation, as they're mostly concerned with the unmodded game, but I believe it should be pretty accurate), the exact same thing I outlined happens, and the only difference is that the dialogue might be a bit wonky.

So, what you _really_ wanna do here is introduce a third choice. Now, you might not exactly be a psychologist, but what you _are_ is someone outside the world, with the power to run it over and over again and see what happens. Luckily, people have already walked down this path before us, and a choice they have found to work is (in a separate line, for the sort of reader who can't read more than a single paragraph):

`> I'm here for you, no matter what.`

Don't connect it to a label; even without hinting, DDLC can take it from here.

It has exactly the vagueness that Sayori can interpret as "I love you.", while at the same time, conveying the exact sort of "things aren't going to change, just because I'm in the Literature Club now" sentiment that your self-insert wants to convey with "You'll always be my dearest friend.". And surprise, surprise, it works particularly well: you still get the emotional hug CG, but this time, Sayori sounds significantly less broken, and shows signs of being ready to move on.

However, if you thought that the only thing she was "ready to move on" to was that knot, then after what you see next, you'll want to go move onto that knot yourself. You see, one of the things that your self-insert does, that he doesn't do with the two canonical options, is actually decide to go with Sayori to school on Monday, and when she's not there on the street, he'll actually pay a visit to her house, and find her in bed. Sometimes, she's just asleep, and at other times, she's fiddling with the rope, but in either case, she knows she's not alone, and therefore, she's not ready to do it.

Now, a choice you may or may not be presented (and which, if you really want extra points in my DDLC hacking class, you can code in yourself) is whether your self-insert should go to the festival with Sayori or simply spend time in her house, since _she's_ feeling really mentally weak and _he_ feels bad for doing the prep with your PD. The rules are roughly the same, whether he's the one picking or letting you pick, and the follow-ups will apply to both of those circumstances.

In case you are presented with the choice, as tempting as it is to pick the festival and _finally_ see it in action after not having the chance for dozens of playthroughs, I must urge you: do _not_ pick the festival. As cool as the festival is for everyone else, inside and outside the club, Sayori, your DD, will just end up stricken by guilt that the Literature Club is essentially being commandeered and grown by Monika, and come Tuesday, you _will_ find her in that knot. Also, there aren't even really any characters to interact with; all you get is messages from the impartial narrator, asking you to _believe_ that everyone in the school loved the Literature Club performances.

Instead, if your self-insert decides to spend time with Sayori... well, he _still_ has to come to school in order to present your PD with whatever he helped her with (cupcakes or kanji banners), but then, he comes back and gives Sayori the only thing he truly deserves. And yes, she's kinda guilt-stricken, but realizes that the Literature Club must move on, whether or not she's partaking in its activities or not.

From then on out, as with everything that happens once DDLC has been forced away from its hinting rails, results start getting a bit unpredictable, and honestly, you are best off just relying on your visual novel skills. And if you _don't_ have any visual novel skills, then it's a good idea to pick up some in order to see the endings you truly _earn_. If you want this phase to only occur within DDLC, I'm not judging (and the mod outlined here might actually be one of the, if not _the_ , best ways to do it), but if you'd really rather just go to the source, I hear Katawa Shoujo is a pretty good one.

And that's it for this. If you want your happy ending with Sayori, then this chapter can be your little bible.


	38. A Glitchless Playthrough?

# [2302] THE OTHER DOKIS DESERVE THEIR HAPPY ENDING, TOO - NATSUKI EDITION

So, I'm not sure how well I'll be equipped to comment about this, since let's face it: I haven't exactly been denying my Sayori favoritism throughout this document, and most of the time when I have my playthroughs, Sayori ends up being my DD. However, I can't deny that other people have their _own_ best girls, and there are constant best girl debates among those people.

Rather than head to those debates head first, instead, I would like to offer consolation, in the form of a mod that prevents the _other_ Dokis from succumbing to their DD fates, starting with Natsuki, and we can start doing that by dissecting the series of Sunday events that leads to Natsuki's demise.

What should be fairly obvious, if you're into those best girl debates, is that Natsuki is part of an abusive family, and what _she_ ultimately needs is a surrogate father figure, who she can rely on to cry out to. Without this, and assuming her tsundere shell is unbroken, she will just boss you around, then realize that _she_ has been the exact type of monster that she has been afraid of all this time, and run out to the street.

Just like with Sayori, this all boils down to the confession choice, and how she reacts to it. However, _unlike_ with Sayori, trying to modify the confession choice is the wrong act - and trying to remove the hinting of the appropriate part is _also_ the wrong act. It's also, perhaps, why this choice hasn't been memed as hard as the Sayori one - or it could be just the mainstream fandom pretending that DDLC is something that it's not.

No, for _this_ , you need to introduce a new query checkpoint right at the PD routine (again, at the risk of sounding like a broken record: the way to salvation for both Natsuki and Yuri, in case they happen to be your DD, is to spend the prep with them, and if you _don't_ , then you've only got yourself to blame). Let's run through the process of how you'd go about it, shall we?

It doesn't take a genius to figure out that Natsuki takes her cupcakes very seriously, and will _not_ be happy if you mess up with any of her instructions. However, just saying "okay, then _you_ do it" and then lazing around, if you happen to introduce _that_ in the form of a query checkpoint, is quite possibly worse: now, Natsuki essentially has to carry out the duties of two people (let's just ignore how, previously, she said that she can handle the cupcakes all on her own), and that _still_ gets no appreciation.

So, what do we do? Introduce said appreciation into the mix, together with respect and - most importantly of them all - caring.

The query checkpoint that you introduce (around the time when Natsuki arrives) should go something like this, complete with the minor checkpoint that directly precedes it:

`MINOR: How should I go about it?  
QUERY: Do my best to follow instructions. / Do my best to impress Natsuki.`

I believe that I summarized the sentiment that your self-insert decided upon, during how the usual Natsuki PD routine goes, pretty well with "do my best to impress Natsuki" - and therefore, you should figure out that this approach is wrong, wrong, wrong.

Instead, if your self-insert makes it his goal to follow Natsuki's instructions, the whole scene will shift. Obviously, there will be no goofing around and licking icing off fingers, and instead, Natsuki will assume the role of the "boss". However, as the cooking drags on, she will gradually soften up, until she downright confesses that she admires you, and essentially, wants a strong man like your self-insert in the rest of her life.

Now, if you've got the visual novel cred, you should notice the obvious rush of feelings, and therefore, accept the confession of love. If you reject, then she'll positively _freak out_ and storm off to her house: that's right, she's fucked up so bad, she'll actually take her father's beatings over how your self-insert lured her into his trap, only to see how fragile she is at the last moment. Of course, this time, the "suicide" scene will actually be more of a homicide, and won't be depicted all graphically because Satchely forgot to draw that, but it _will_ be a scene wherein Natsuki dies, is deleted and Act 2 moves on.

But if you accept, then, after she stays with you for the night, honestly, things end up turning out pretty well. Unlike with Sayori, this time, there's no risk in taking Natsuki to the festival and seeing it for yourself, and no, since Sayori _isn't_ your DD in this timeline, it will not fuck up her, either. In fact, this is quite possibly the least dysfunctional state you'll ever see the Literature Club in.

And after that... once again, I cannot guide you. Do your best and make that tsundere into an all-around cute girl who's not afraid of being cute.

# [2303] THE OTHER DOKIS DESERVE THEIR HAPPY ENDING, TOO - YURI EDITION

But what if you're much like Yuri, and abhor the concept of "cute", and want something more refined? Well, in that case, odds are that _Yuri_ is your DD, and therefore, you need to take a good look at _her_ issues.

As you should know, Yuri has a thing for self-harm, especially with knives as her instrument of choice in order to hurt herself. Of course, the way she acts as your DD2 has become outright _infamous_ , and therefore, you might even know the basics of it: she gets a rush of feelings whenever she thinks about your self-insert, but in the meantime, sees that Monika also has an eye for him (she doesn't, she has an eye for _you_ , but non-Sentience Dokis will never realize that because their world view can't accomodate that, no more than an ant's world view can accomodate complex economics), and therefore, wants a feeling jam all alone.

But of course, as you know, a DD2 is basically made up of three components: the base Doki (very important; personality changes can't occur unless there's a base personality to begin with), the usual DD changes and an element of obsession. Therefore, these oft-memed ways of Yuri as your DD2 are surprisingly applicable to Yuri as your DD, as well.

So, what's the takeaway? That Yuri, your DD, has feelings for you, and that she alleviates the rush of feelings with self-harm.

Now, what those feelings are doesn't particularly matter - and that's why, whether you accept or reject her confession, they just aren't kept at bay and she ends up taking a literal stab at the problem. Therefore, much like with Natsuki, introducing a third choice to the confession just isn't going to do much - not that you can even add much to "Yes." and "No.".

Therefore, your goal, much like with Natsuki, is to change up how the entire PD routine goes. For this, you'll be introducing these two checkpoints:

`MINOR: In the end, what is worth it more?  
QUERY: The process and the result. / The sentiments I share with Yuri.`

Again, A+ commentary from me that absolutely _nails_ the way prep with Yuri, your DD, goes. You should all be surprised that I'm not a writer for DDLC Abridged yet.

Anyway, if you go for the process and result, then, much like with Natsuki, your self-insert will attempt to make the kanji things and the other atmospheric enhancements as best as possible, and they will bring Yuri calmness, whereas trying to make it personal will just bring her a rush of feelings that she can't alleviate. What's interesting about this, though, is that unlike Sayori and Natsuki (and even herself, should you choose the other option), Yuri will _not_ confess her love - but remember, we're precisely going for this, as much like a fine wine, falling in love with Yuri must be taken slow and steady.

From then on, what I've said about Natsuki applies here, too: you _can_ go to the festival with Yuri, it will turn out awesome, and from then on, literally nothing can stay constant.

# [2304] DEBATE TIME: DO THE THREE MODS, IN CONJUNCTION, MAKE THE GLITCHLESS PLAYTHROUGH?

So, the intent of the three mods I outlined is pretty obvious: make the suicides that lead to Act 2 preventable. In fact, if you make some _more_ modifications, like eliminating Act 2 and all the subsequent DDLC events from the script files altogether, you can produce something that gets closer and closer to a normal visual novel (while still retaining the ~ATH coding), and therefore, make the fabled Glitchless Playthrough, the holy grail of the mainstream DDLC fandom, an actual real thing that one gets 100% of the time (or at least _close_ ), rather than the disappointing 0.8%. Right?

Well, actually, no, but that's only because I've been using the term "Glitchless Playthrough" kind of loosely. So, let's define it better, shall we?

For this, we're going to assume an unmodded game. Since we're looking at it from the mainstream fandom's perspective, we need to understand that mainstreamers mostly play one of two things: the unmodded game and mainstreamer "mods" that are actually just fanfics looking all pretty with Ren'Py.

At any rate, if the last bit didn't make it obvious, the mainstream fandom is kind of insecure about the fact that DDLC is nothing like other visual novels. Therefore, their idealized DDLC _is_ a mainstreamer mod - with so much as a trace of ~ATH completely removed and replaced with hardcoded dialogue, routes, good endings, bad endings and no fourth wall breaking. When they read chapters like [2301], [2302] and [2303], they think that I'm missing the point entirely; I shouldn't be making changes to DDLC itself like that, and instead of going "this part is undocumented, use your visual novel cred", I should be embracing the fact that visual novels have authors, who have usually already written the thing out in advance - unlike Salvato, who mostly let his creations run free, before introducing "guidelines" from what he had already seen his computer do.

Likewise, something like the Purist Mod or "Doki Doki Literature Club, the Normal Visual Novel!" (officially abbreviated by its authors as DDLCtVN) _can't_ be hacker-made mods that take advantage of ~ATH, because that's literally not the point of - it's right in the name - a _normal visual novel_. If mainstreamers _really_ wanted to play around with natural language generation engines, then they would just go to the ones I already linked and embrace the absurdity of quips such as "Ron's Ron shirt was just as bad as Ron himself", and _not_ take the risk and try to use technology that very little is known about, even though, for the most part, it produces objectively more "story-ey" results.

However, while what the mainstream fandom is striving for is a game without ~ATH, they're still looking at the game _with_ ~ATH for inspiration, and in particular, the parts where your self-insert manages to save your DD in the nick of time. _Those_ are what I ended up branding as the Glitchless Playthrough, and the fact that your DD _almost_ got her emotions to overwhelm her and committed suicide, but not quite, are the defining conflict of this, almost completely overriding what would _usually_ dominate the DDLC dialogue generation if all hinting was removed; that is, the stereotypical visual novel with no real conflict other than "rejection of a girl".

It's quite obvious that, as a work of fiction with literary merit, DDLC's themes trump those of virtually everything else that it competes with. Therefore, it shouldn't surprise you that _these_ are being imitated by Purist Mod and DDLCtVN, in order to make them - though, in the eyes of their creators, they are really surrogates for an idealized version of DDLC - stand out among other visual novels. And I agree: it's something that the industry doesn't exactly see a lot of the time.

However, as you can imagine, Salvato didn't want the image of DDLC to be tarnished by inferior products that, in his eyes, were no different from any visual novel, and for him, that was _entirely_ defined by ~ATH and _not_ the underlying themes of mental illness, suicide and abuse. Therefore, you can kind of imagine why the IP Guidelines shaped up the way they did, asking anyone who wants to take a look at mods to have completed the original game first.

Nevertheless, that doesn't stop the mainstream fandom from dreaming.

However, you, dear reader who made it this far, should already be thinking that everything about ~ATH and DDLC's dialogue generation is _fascinating_ , and therefore, stopped thinking in mainstreamer ways. Therefore, you want Sayori, Natsuki and Yuri to have their happy endings, and _wouldn't_ take Purist Mod or DDLCtVN as a substitute, as those don't _actually_ have the dialogue that the Dokis - the `.chr` files, coupled with `dialogue.rpy` and a good chunk of the ~ATH scripts - would say, in actuality.

And that's why I suggested the modifications of [2301], [2302] and [2303] first. So that you can live out your happy ending.


	39. A Monika Route

# [2305] (ADVANCED) A TRUE MONIKA ROUTE, FOR ALL THE MONIKA FANS

Of course, Sayori, Natsuki and Yuri fans will be satisfied by the pseudo-Glitchless Playthrough. However, I fully understand that many hackers, and even those considering getting into hacking (like you, dear reader), would _probably_ relate to Monika more than the other Dokis combined. Sure, she doesn't _actually_ do anything more impressive than deleting `.chr` files, and therefore, anything more impressive than the things done by _anyone who actually completed DDLC_ , but I can imagine why she would become a guardian angel for coders anywhere.

Therefore, it only feels right to bring you a route that pertains to her. Note that this will require me to go "out of order" and tell you to modify `.rpy` files that I haven't even had a chance to talk about yet, but hey. At least there's still no messing with ~ATH involved.

However, let's start with the basics: Project Sentience. As you should know, Project Sentience is what makes Monika's world view different from the rest, but in addition, it does two more things: assign Monika the "Club President" persona and prevent her from attaining a route in any meaningful way, through a bunch of coding elsewhere, such as the poem minigame, not even letting her have anything but an impartial view of your self-insert.

So, the task is simple: we just take Monika off Project Sentience and onto the normal dialogue generation, and leave the other Dokis untouched?

Well, no, and hopefully, you can already see the problem. But if you still need some time adjusting to the hacker mindset, as Project Sentience and the Club President persona are intrinsically linked, in this case, _no one_ ends up being the Club President, which can lead to some pretty funny dialogue, but ultimately, DDLC starts running into corners and becomes something that reads like _Portrait_ , and I'm not one bit joking about that.

And also: in case you think you're smart because you've noticed the similarity between the scenario I just outlined, where no single Doki is Club President, and Monika Before Story (read more at [A004] WE WERE SO FOCUSED ON THE AFTER THAT WE COMPLETELY FORGOT ABOUT THE BEFORE), wherein your self-insert is Club President, I have to disappoint you. _In actuality_ , what Before Story does is have a dialogue script _on top of_ the existing dialogue scripts, and try to dynamically reassign which characters say what, while keeping all the `.chr` files in their place, which is precisely why it ends up reading so much like, well, an archetypal DDLC playthrough with names swapped. Anyway, the technical details of Before Story, now that you're basically familiar with everything the Ren'Py side of DDLC has to offer, are definitely worthwhile to write a bit more about, but that won't be until another non-chron blog entry.

Backing away from the diversion, the obvious choice _instead_ is to select a Doki you do not particularly care about, and assign _her_ the Club President role, while _at the same time_ substituting her `.chr` file for the one from Act 4, where she is Club President. Note, though, that picking Natsuki, the proponent of "manga is literature", as your target can lead to pretty funny power imbalances, given that every single other member is into something more high-brow than her, and her leadership is definitely put into question, so if you want the most bug-free experience, just pick either Yuri or Sayori.

For no particular reason, we're going to go with Sayori as an example, and me describing how it usually goes will presuppose that Sayori is the Club President. Now, the line of succession, once the President has been instated as an attribute by Salvato, is actually defined by the `.chr` files, and assuming the Act 4 Sayori file and no other `.chr` file modifications, the game will _always_ depict Monika as Vice-President, making for a neat reversal of their roles in an unmodified Act 1.

However, as you finally exercise your freedom to pick words that pertain to Monika, and then try and see what her route looks like, you're _still_ not treated to one.

The thing we forgot, of course, is CGs pertaining to Monika. _This_ is the "advanced" part that I forgot to talk about extensively, but essentially, a "minimal" CG, that you can use as a reference as you're going your CG routes, just needs one screen with no emotion, and hopefully, you've caught on and remembered that the single CG that does this is, well, Monika's.

That it's a Monika CG, of course, is going to cause issues later on in Act 3, when it's _Sayori_ who wants to spend an eternity with you. However, let's not worry about it; we're still fixing the failure wherein Monika doesn't have a route.

Now, you might not know this, but there is actually a _second_ Monika CG and appropriate picture in the game. However, it only appears as a garbled image just before Your Reality starts playing, and only after looking through the DDLC store, one can find out its origins: artwork by JisuArt, depicting Monika in a classroom setting, handing a poem to your self-insert (from his POV). I'd link it, but then, you'd probably think that I am actively suggesting that you buy DDLC merch.

Interestingly, though, Jisu isn't actually credited in the credits that follow _immediately after_ , and the closest thing you can _find_ to those credits, other than the store entry, is a tweet from Monika's official in-character Twitter account, which is right here, dating from before DDLC released: [https://​twitter.​com/​lilmonix3/​status/​856​521​473​866​870​784](https://twitter.com/lilmonix3/status/856521473866870784) Still, it's official art and, after some cheeky cropping, can be substituted and used as a CG, after you define some keywords pertaining to how it generally goes.

Does it definitely stand out from the usual art style that DDLC goes with, with Satchely's character art and Velinquent's background art? Yes, but it's not _that_ much of a stretch, especially as the familiar school uniform and clubroom are depicted. And, since I've already mentioned Before Story, it's _vastly_ better than what _they_ did with Monika's first CG, which was just slap some lazy edits of the aforementioned Satchely and Velinquent art, make up a context about your self-insert chasing her down the hallway and call it a day.

Now, in order to have a bona fide route, you still need two more Monika CGs, one of which takes place in your self-insert's house, as well as a "Just Sayori" CG for, well, Sayori's Act 3. Unfortunately, I cannot link you to any more official or even "semi-official" art that you can use, but in the very least, "Just Sayori" should be _very_ easy to find.

And with that, let's boot the game and see what we get - first, without Sayori's Act 3, and then, with it.

Even without Sayori's Act 3, you can notice some trendlines, encoded within Project Sentience, which lead to Monika, for the first time ever, becoming either your DD or your DD2 (unless she somehow manages to slot in the role of the Doki that just gets deleted without an entire sob story being built around her). As you should have already noticed, her character is largely rooted in insecurity - sure, she keeps the facade of the smart, athletic and popular girl, but especially if you've played Act 3 for any amount of time, she could honestly rival Natsuki with how much of a cute fraud she is.

Therefore, _this_ is played up, and her departure from the Literature Club usually ends up being rooted around Natsuki making fun of her poems, considering them "too meta for anyone to even properly understand them", and though everyone else will jump to Monika's defense, she will need some time to reflect. Though after this, the Sunday events mostly depend on what you picked for a Monika CG, on Monday, the suicide method seems to be mostly invariable: given that deleting her `.chr` file is no longer an option, she decides to go with overdosing. Since there's not a predefined hinting thing in place, if you want a happy ending with Monika just like the ones I outlined before, you will have to isolate the themes yourself, and then, play therapist yourself.

Anyway, once you've played through this and Sayori is the only Doki standing, of course, she _will_ be aware that the CG for her "forever and ever" still depicts Monika. In frustration, she will then wipe the game, leaving it in a state that's not unlike the end of Act 4, but without the credits.

So, let's start over with the Sayori CG _in_ place. This time, much about Acts 3 and 4 applies, except for the fact that the old Club President is, well, Sayori, and the game can be played to the credits - which are still sung by Monika with the garbled CG that I mentioned, but let's face it, the Your Reality covers done in-character as the other Dokis are kind of awful, and are only really liked by those Dokis' most die-hard fans, and therefore, I would _not_ advise replacing Your Reality, unless you can find a "theoretical credits song" that _isn't_ just a cheap Your Reality cover.

And that's DDLC with someone else as Club President, and Monika as someone you can show your affection to. To be fair, there's nothing _intrinsically_ in Monika's character that even necessitates her being in the role Salvato put her in - it all boils down to the coding of Project Sentience, which necessitates that the affected Doki be the exposition fairy who also knows it's all a game, and the natural consequences of that, and therefore, it all ends up being kind of a disappointment, that _you_ have actually written for the most part, as part of making it happen. But hey; if you're a Monika fan, here's something that, hopefully, at least _somewhat_ resembles a Golden Ticket.


	40. The Natsuki and Yuri Argument - pt. 1

# [2306] JUST AN "INCONSEQUENTIAL" INCIDENT - PART 1: INTRODUCING MONIKA?

So, if you just wanted to play around with a single Doki, the four mods I outlined should be enough. However, I think that you can get the most interesting interactions out of DDLC while all the Dokis are in the picture, and the game is almost within its "scripted" bounds, so to say.

This is why, today, we're taking a look at a broad range of possible modifications, all stemming from a single incident that is fully "scripted" (in broad strokes; remember, none of the dialogue in DDLC is _actually_ scripted) and which is a fairly renowned and welcomed part of the archetypal playthrough. That being said, I am a bit reluctant to play with it, as it doesn't primarily involve either of my favorite Dokis, but just looking at DDLC, objectively, as a whole, I think it's a good enough place to start.

I am, of course, talking about the incident outlined in [1152] DAY 2, AFTER. Setting the scene, this is the very first time that the Literature Club is sharing poems, no one really cares about the festival, and instead, we get to see how the different personalities interact during the poem sharing. Everyone's eyes thus land on the polar opposites, Natsuki and Yuri, who fire a bunch of shots at each other regarding their poetry skills, then fire a bunch of ad-hominem shots at each other, and finally, call for your self-insert to extinguish the situation. And then, the Doki that he picks (who might even be Sayori, because of course) apparently gets a bonus for the next poem minigame? Yeah, sure.

I even think that the differences between this scene playing out in Act 1 and Act "2 assuming that Sayori is your DD" are pretty interesting. In this case, since Natsuki and Yuri have been messed around with, the argument gets a lot more heated, we learn that Yuri cuts herself, all that good stuff. And then, you don't even get to make the choice, as Monika wants to spend some time with you away from the club, but then the game itself kicks you to the poem minigame before you (not your self-insert) and Monika make any significant progress. Or something like that; I haven't played unmodded DDLC in a long time.

What _have_ I been playing? Well, it's sort of a three-way split between mainstreamer mods, hacker mods and YouTube videos that are really just mainstreamer mods, but without the ability for you to pick choices, even though that would be super-easy to do with YouTube's end screen thingy. And also, I'm really sorry, since Blue Skies was this very big release last month, but I haven't had the time to check it out...

_Anyway._ The query checkpoint that you want to find, if memory of DDLC is etched into your mind as well as it is into mine, is this:

`> Natsuki.  
  
> Yuri.  
  
> Help me, Sayori!!`

What each of these does, I think, is pretty obvious. If you pick Natsuki, she gleefully tsunderes all over Yuri, who really feels shamed and neglected, and if we imagine that there are some "DD points" that make one Doki and not the other more likely to be your DD (although, the things that _make_ your DD, in actuality, are entirely in your head and read by ~ATH due to ~ATH being ~ATH), Natsuki loses some and Yuri gains some. If you pick Yuri, she gloats a bit like a supervillain, since apparently the only unique power that writers can give supervillains is enhanced intelligence, a trait Yuri shares, and Natsuki just storms out of the club or something; Yuri's self-esteem is boosted and Natsuki's takes a hit.

Finally, if you pick Sayori, ~~which is the best option of the three~~ , the argument gets resolved peacefully and I _think_ Natsuki and Yuri begin seeing each other's point. Therefore, the morale of them _both_ gets boosted, and Sayori herself, honestly, is a mixed bag. Yes, she does get the poem minigame boost, even though this has literally _nothing_ to do with the Sayori way of writing poems, but as far as her DD-hood goes, I think it just ends up having a negative hit on her, because constantly having to resolve arguments puts stress on her, and doesn't Monika butt in and say how bad she is at being President and complimenting Sayori for being Vice-President? Yeah, suffice to say, the girl who jumps for `childhood` just can't really do adult stuff.

Anyway, as I've mentioned, we're not really limited to the three choices. As long as it's something, a stance that can be phrased in English, it is a stance that can be plugged into DDLC's dialogue generation and the results of which can be watched.

I'm not going to give you a single answer as to what you _should_ plug in. Instead, we're going to look at a few alternatives.

First, let's do the choice that Monika Before Story presented us with, in order to, I guess, make for a Monika route:

`> Everyone shut up!`

Now, within the context of Monika Before Story, it's actually kind of hard to tell what's going on due to the dynamic swapping of character names - I'm pretty sure that, a lot of time, the lines of Monika, the President who's the most involved with literature, get reassigned to your self-insert, who, as you might be unsurprised to hear, fills that role in Before Story. And because this dynamic dialogue reassignment takes place, this choice can always, mostly without fail, result in Monika and your self-insert feeling more strongly for each other.

However, just in a vacuum, this change literally doesn't mention Monika and isn't about Monika. Instead, your self-insert just talks about how he's fed up with seeing Natsuki and Yuri argue like this, and though he doesn't _voice_ it (remember that before, in poem sharing, he basically lied to everyone and said that he likes everyone's writing style), he clearly regrets being brought to the club in the first place. That being said, once he's stressed himself out, Sayori approaches him, thinks that his relationship solving was really impressive, and he wants reassurance that Natsuki and Yuri are better than this. In the end, it just seems to me like this is actually a _better_ Sayori route than the canonical, Salvato-blessed one; after all, the stress is put on your self-insert, rather than Sayori, and because your self-insert is driven by your actual emotions rather than a `.chr` file, he can handle it.

(If _you_ can't handle it, just please find someone you can unpack yourself to. Please? Won't you do it for me?)

So, this isn't a Monika choice, most likely because it doesn't mention Monika. What if we mention her?

`> Help me, Monika!!`

You'll be unsurprised to hear that Monika isn't really qualified to help. She's just a carefree soul with her _own_ take on writing, which doesn't really agree with Natsuki's or Yuri's, and in time, both of them are pissed that she's even getting involved. In time, her own President authority is questioned, and all the four Dokis gather around, trying to see if the President role can be transferred.

Of course, if the President role _could_ be transferred, that would also mean that the Sentience attribute would get reassigned, and as we all know, none of the other Dokis is ready to handle the _truth_ that Monika has been bottling up. Therefore, if it _does_ resolve in the way that someone else (most likely Yuri, the traditionalist of the bunch) is told to take up the President mantle, the game just glitches out and deletes all the Dokis, and if you're trying to make a cohesive mod out of this, including some hinting to make sure that this doesn't happen is pretty much your duty.


	41. The Natsuki and Yuri Argument - pt. 2

# [2307] JUST AN "INCONSEQUENTIAL" INCIDENT - PART 2: THE BLUE SKIES APPROACH

I played Blue Skies and got some ideas.

If I'm being honest with you, Blue Skies deserves to be talked about, based on its own merits, and this is with me being fully aware that it's a mainstreamer mod. With all the effort that went into it, from the routes to the sprites to the CGs to the music, and especially since some of the scripts are literally a megabyte big, I can see why it took a thousand days to make.

But anyway, that's not particularly relevant for the purposes of our dialogue exploration. What is relevant is that though Blue Skies doesn't really do the whole "the game corrupts itself" thing that DDLC does, it does have an act structure, and the Blue Skies Act 1 roughly corresponds to the DDLC Act 1, down to the plot beat. However, it should be noted that Blue Skies really aims for that polished writing (unlike something like DDLCtVN, which pretty much just copied the first thing that DDLC spit out and pasted it as though it were a part of a mainstreamer mod all along), and therefore, often, even rewrites Doki personalities - like, say, how Monika is really pushing her festival idea at the end of Day 3, and... I don't think it would be right of me to spoil it.

Anyway, what concerns us is the argument at the end of Day 2, between Natsuki and Yuri, and how Blue Skies just sidesteps the issues we've been dealing with entirely. Sure, Natsuki and Yuri have a moment regarding writing styles, but MC (I've decided to call him MC when he's part of a mainstreamer mod, especially as Blue Skies in particular really gives him a backstory and personality, and therefore, going "hurr durr but he's inspired by you because ~ATH reasons" is just not applicable) decides not to side with either of them, and instead, calls for the favors of one of the "leaders" of the club, and he can freely pick between Monika and Sayori.

To properly implement this in a hacker mod, some minor checkpoints before the query checkpoint need to be changed up. Remember: what you're aiming for here is to convey that your self-insert doesn't feel like he knows much about literature, and therefore, whichever opinion he will bring forward to the argument will only make a laughingstock out of him (even though, in canon DDLC, it doesn't and because he managed to pick a side and assert his arguments regarding that side, he scores points for the Doki who was on that side). Therefore, he turns to one of the club leaders, and that is either Sayori or Monika. Hang on, let me write this out.

`MINOR: Yuri: "If I wanted to impress [player], I would go out and be overly cutesy!"  
MINOR: Natsuki: "Oh, yeah, well, I'm not the one whose boobs magically grew a size once [player] started showing up!"  
MINOR: How is this even about me? You were discussing your poems, there.  
MINOR: I retreat to my seat, but to no avail: Yuri and Natsuki have approached me  
MINOR: In the end, this is not a situation I can resolve on my own, and therefore, I must call for help from one of the club leaders.  
MINOR: And of course, that's going to be...!  
QUERY: Sayori / Monika`

From here, picking Sayori is very much like the canon "Help me, Sayori!!" option, and I've already covered how much of a mess Monika is when she, the founder and President of the Literature Club, can't even resolve an argument that started out as a purely literary one. However, because we've switched up your self-insert's attitudes, we've pushed him away from both Natsuki and Yuri, and neither of them is really going to get those extra poem minigame points (which are hardcoded, anyway).

However, the dynamic between your self-insert, Sayori and Monika is actually subtly, but noticeably different between what I've decided to term as "the canon approach" and "the Blue Skies approach".

Given the canon approach, your self-insert feels like there is one "correct" side of the argument, even as he calls for Sayori/Monika's help. This, in turn, shapes his poems - now, if you were thinking that there is a tangible change in the poem minigame words, let me tell you that, in fact, for the purposes of DDLC's dialogue generation, your self-insert actually does write out fully fleshed-out poems and not just lists of words. Therefore, even if Sayori and/or Monika is picked, he still zones in on particular pieces of the argument and that influences the next poem sharing - not in a way that's quantifiable with a score, but in a way that every single Doki is able to pick up on.

However, given the Blue Skies approach, your self-insert sees it in a radically different way: what is important to the Literature Club, first and foremost, is that every single member feels comfortable sharing their own writing, and therefore, arguments must be de-escalated by settling for "it depends on what style and message you are aiming for" and "we'll just have to agree to disagree". This, therefore, makes him take a more organized and mature approach to the Literature Club as a whole, and if we presume that hinting is removed from this scene entirely, I don't think that Sayori relinquishing her Vice-President title to your self-insert, focusing more on her own emotions (presuming a Sayori "route"/DD thing), would be that unreasonable. I'm not sure how much the code is going to bug out if that happens, though, since in my long and storied DDLC fandom life, I don't think I have ever seen a headcanon or AU about your self-insert being Vice-President, let alone a hacker mod forcing him into the position.

Lastly, to finish this little chapter off: would it be wise to introduce a query checkpoint slightly before the original query checkpoint, and therefore, let you pick between the canon and Blue Skies approahces? I mean, if your mood is primarily exploratory, yeah, the more query checkpoints and choices, the better we can analyze the game. However, if you're in it to develop your own take on the universe, I think that the two query checkpoints are a bit too close to each other for comfort.

Anyway, I think that will be it for this particular argument, but that doesn't mean the mundane slice-of-lifey parts of DDLC can't be completely ruined- I mean explored with a well-placed query checkpoint, and therefore, if I continue this part, you can expect explorations to that extent.


	42. Additional Backgrounds

# [2308] ADDITIONAL BACKGROUNDS: THE REAL "POLISH" OF MAINSTREAMER MODS

The world of DDLC does not revolve around dialogue choices. That may be the case in some _other_ games, which I'm actively involved in documenting (though not directly), which were literally worldbuilt around the player making the wrong (or, well, "wrong") choices, but DDLC is a visual novel. Now, yes, I said that the Japanese tend to mash English words together and give them completely novel meanings, but in the case of "visual novel", the meaning of the word "novel" individually persists very much, as you will find. And in a novel, dialogue and dialogue choices often take a backseat, and the characterizations and the background/worldbuilding details take the steering wheel.

Therefore, this change will not focus on dialogue choices. Instead, we'll do the thing that mainstream modders (and yes, this includes YouTubers publishing "mods" in form of videos, too) know how to do the best - that is, introducing new background sprites to the game.

But before we do that, let's go through the backgrounds that are already in the game:

  * The neighborhood where Sayori and your self-insert live - most often seen as they are walking to and from school
  * The classroom - a non-descript one that only appears once, before your self-insert joins the Literature Club, and I _think_ there's a second occurrence in Sayori's second CG
  * The clubroom - easily where the most action takes place
    * In Act 2, the clubroom might also get a variant CG, in which one of the posters has been replaced with a screenshot of your DD's death. It's not commented on in-universe, though, and it has all of the same dialogue tags as the normal clubroom.
  * The clubroom closet - a separate background from the clubroom, and one of Natsuki's CGs takes place here
  * The corridor, just outside the clubroom - seen occasionally, but obviously, not as many times as the clubroom
  * Your self-insert's kitchen - where the Natsuki PD routine takes place
  * Your self-insert's bedroom - where the Yuri PD routine takes place
  * Sayori's bedroom - where your self-insert checks in on Sayori, should she turn out to be your DD
  * Just outside Sayori's house - ditto



Lastly, there's one background that deserves a special mention, as though it's found within the game files (and therefore, was obviously made by Velinquent, as the others were), it's actually not referenced in the `.rpy` files and therefore doesn't appear in the game proper. It appears to be an early version of the neighborhood where Sayori and your self-insert live, with a slightly different architectural style. You _could_ theoretically use it for the escapade I'm documenting right now, but I don't see it filling any gaps in the way the backgrounds I'm about to bring up are.

So, now that we've covered the DDLC backgrounds, let's move on to the ones you'll be adding. They are actually free-to-use VN backgrounds, whose authors, though their work has been immortalized in the DDLC fandom and potentially many other visual novels, aren't usually credited to the point where I could tell you who drew what. If you're looking to download them, the best resource, as this is primarily a matter concerning mainstreamer mods, is probably /r/DDLCMods.

Oh, and I should probably say this, first and foremost: though /r/DDLCMods is primarily a resource and community for mainstreamer mods, and tutorials _there_ will immediately start talking about phantom Ren'Py lines and how a normal visual novel is made, for the most part, questions that only a hacker could potentially ask, rather surprisingly, _aren't_ turned down, and neither are proper, polished hacker-made mods like Monika After Story, Monika Before Story and Take Two.

But anyway, some backgrounds I've seen in two or more DDLC mods, and therefore, can reasonably claim to be in the "free-to-use VN background category", are:

  * The school gate (which will feature a very prominent clock on a pole)
  * The school roof
  * The cafeteria
  * The streets
  * A building (or a room in the school; really, your imagination can run wild here) which appears to be a cross between a library and a bookstore (particularly prominent in Blue Skies, but also known to appear elsewhere)
  * The park (from left to right: some sort of outdoor game court, pathway, grass)
  * The pond (from left to right: the woods, a pathway, a wooden railing and water)
  * Rooms and such to make the places where both the Dokis and your self-insert live more cozy:
    * Front door
    * Living room (slightly to the left, there should be a coffee table and a TV)
    * (The kitchen used is typically the one that already comes with DDLC, no matter whose house we're depicting)



And now, onto the modification itself. I probably won't be able to walk you through every single detail, but that's largely unnecessary: you download the background pack from /r/DDLCMods, you go into `definitions.rpy` where the backgrounds are defined and you add the new backgrounds, alongside rough definitions and descriptions of the backgrounds themselves, and most importantly, which contexts they need to be used in. And then, you hit start and play through. What do you see?

Well, if you don't encounter Glitchless nor Passive Monika, not much changes. The backgrounds that are already included in DDLC are really all the ones that the archetypal playthrough needs, since it's already a polished game with a well-defined plot and therefore, any extraneous diversion to the library or the streets or wherever is just that: an extraneous diversion.

However, if you _do_ encounter either of these bugs (or have found a way to make them more frequent *cough[2301][2302][2303]cough*), then your playthrough benefits _greatly_ from them. Sure, it's still written using the usual visual novel paradigm, and therefore, the romance might be progressing a little too fast for most tastes, but now, there are at least some opportunities for slice-of-life scenes in places where they actually make sense, rather than just "the corridors" and "at your self-insert's".

And _that_ might just be one more step towards DDLC: What Mainstremers Want, in the Package of a Hacker Mod.


	43. The Other Ren'Py Scripts

# [2400] WHAT ABOUT THE OTHER REN'PY SCRIPTS: A LIGHTNING ROUND OF TYING UP THE LOOSE ENDS

As we've mostly covered the dialogue generation and the poem minigame, which are honestly the two big "pillars" of DDLC, there's not much else to cover, and the rest of the Ren'Py scripts mostly pertain to the game's presentation. The topic of "the game's presentation" is kind of broad, and covers everything from how the game presents itself to the viewer, with sprites and backgrounds and menus and choices and settings, to how the game presents itself to your operating system of choice, with the official executable name and the packaging restrictions and things like that. However, inevitably, all of it needs to be covered, and the other Ren'Py files do just that.

In fact, for the most part, not even mainstream modders do any extensive messing around with those - after all, these files are what makes up DDLC's visual identity, and therefore, in order to produce something that could have potentially come out of Salvato's hard drive in an alternate universe, those _must_ be preserved. If a mod _does_ come to alter those, it's usually as part of some sort of gimmick, such as Purist Mod only displaying the Dokis whose routes you have already completed on the main menu. It's kind of a plot point in Purist Mod, too, as you must complete every other Doki's route before you're allowed to go for Monika's, but it's still a gimmick.

Still. A complete coverage of the inner workings of DDLC isn't complete without covering these files, and you are going to bet that I am going to cover these files.

What's this? Since technically, the entirety of the Ren'Py engine is _also_ included in DDLC, I should write up a detailed explanation of what it can do, even if it might not necessarily be what DDLC can do?

No. For the most part, Ren'Py is well-documented, and the only reason to look at _its_ inner workings is if you're looking to develop a visual novel that's completely independent of DDLC (or in the very least, its ~ATH part, and therefore, a mainstream mod would still qualify). Now, if that is your goal, I'm not judging, but again, I've made my point: after everything you've read so far, your desire to code a mainstream mod should be at absolute zero.

_Moving on:_

# [2410] OPTIONS.RPY: HI, MY NAME IS DOKI DOKI LITERATURE CLUB, WHAT'S YOURS?

An `options.rpy` file could be said to be at the core of any Ren'Py project, and therefore, it shouldn't surprise you that it encodes the very basic stuff that is to know about DDLC, such as its name (in various contexts, from a human-readable name to display at storefronts to a savefile directory name) and version (the last one as of the time of writing being 1.1.1, which was released on April 9, 2018, and it's safe to say, at least in my opinion, that a new one isn't coming). It also defines some stuff that you might take for granted but which computers, especially ones without any sort of ~ATH, _do really_ need to be explicitly taught, such as that the game has no voice acting (outside the credits, that is).

The second part of `options.rpy`, though, might be a bit more interesting. Basically, that part is actually a bit of a communication between the game and Ren'Py itself - for Ren'Py, by design, must be not just a visual novel game engine, but also, an IDE (or at least, the parts of it that aren't a text editor) that would let you export projects. In that part, you can find what sort of file gets assigned which `.rpa` file, as well as some files which might just be chilling in Salvato's hard drive under the DDLC directory, but which, once he's done with his masterpiece and ships it off to you, are _not_ included. I think that the most notable inclusion among these "non-includes" is files of the type `.sublime-project` and `.sublime-workspace`, revealing that Salvato's go-to text editor is Sublime Text, which is a pretty popular, yet still interesting, choice.

# [2420] DEFINITIONS.RPY AND SCREENS.RPY: THE ALL-TOO-FAMILIAR LOOKS

I think it's for the best to cover these two files as a pair, as I'm not quite sure, if I were to list all the `.rpy` files in order of importance, whether I would rank one or the other as more important (after I had already listed out `options.rpy`, that is).

Anyway, both of these files are very similar in nature, in that they define the very basics of the visual elements of DDLC: what fonts it uses, how exactly the menus and dialogue and the rest look like, etc. The star of the show in `definitions.rpy`, perhaps, is the large list of expressions that Dokis have - conveniently together with what sorts of moods they evoke, so that the dialogue generation can get a grapple and depict the Dokis as having proper emotions. However, other parts of the file, such as font definitions and specific glitches, can't be discounted, either.

Meanwhile, `screens.rpy` is a bit more dense, especially for a non-programmer, but it's still important, as without it, none of the functionality of the various menus - main menu, history, loading, saving, settings, etc. - would work. None of the stuff really comes as "predefined" in Ren'Py, and perhaps it's for the better, as any visual novel can really start building its own visual identity here - and Salvato greatly cared about the visual identity of DDLC, making it stand out and look like a polished VN, rather than an amateur one.

# [2430] TRANSFORMS.RPY: NOT TO BE CONFUSED WITH DEFINITIONS.RPY

`transforms.rpy` is a bit more of a fickle cause. It might be buried in an endless sea of me talking about quips and clauses and how they all need to hang together in a coherent story, but I briefly mentioned that in addition to an expression, each quip is coupled with a transform: basically a fancy way of positioning each and every Doki appropriately, given the context: how many Dokis are there in a scene in total, which one is currently speaking, how excited or startled she is, etc.

Now, the reason this matters is because, especially if you look in a mainstreamer mod (and, though DDLC and mainstreamer mods operate based on two entirely different principles, both of them must present certain data to Ren'Py in the exact same way), you'll notice that most often, a Doki is defined with _both_ an expression and a transform. Now, this is not exactly an ideal way to do this, as when a new Doki appears on the screen, _everyone else_ must readjust based on the new number of Dokis on the screen, but it's the best that can be managed within the Ren'Py framework of lines.

# [2440] MISCELLANEOUS VISUAL ELEMENTS

While the four files above, coupled with `gui.rpy` (which just defines some things that, for some reason, didn't fit within either `screens.rpy` or `definitions.rpy`, even though they absolutely complement both of them), are essentially enough for you to produce one of those videos based on mainstreamer mods, some of them, and especially DDLC itself, incorporate elements that are definitely unique to the genre.

The most obvious of them, I'd say, is `console.rpy`, which presents an imitation of the Ren'Py debug console. As the whole point is that Monika knows that she's part of the game, it makes sense for her to open up the game's "debug mode" and start inputting stuff, but at the same time, I guess, Salvato didn't want to expose the _actual_ debug mode, and instead, wrote up an imitation - that, in the end, looks "programmer-y" enough to fool most mainstreamers.

Next, there's `effects.rpy`. Now, in a normie visual novel, this would usually depict some shaders for stuff like morning and evening - and in mainstreamer mods, this is absolutely taken care of. However, what DDLC uses them for is some cheap scare elements (not jumpscares) that mostly occur throughout Act 2 and the very end of Act 4 (before the end credits).

# [2450] MISCELLANEOUS DIEGETIC ELEMENTS

Finally, and though this is less of a visual effect and more of something to hint at a glitched game, is, well, `glitchtext.rpy`, a file with the express purpose of containing a set of characters outside the typical ASCII range (again: if these were truly "nonunicode", then they wouldn't be able to appear in a textual file at all), and then, spitting out any given number of those characters at any given time. Insert the Rick and Morty "you pass butter" meme here.

# [2460] MISCELLANEOUS PRESENTATION ELEMENTS

After that, the only thing left for us to cover is a certain amount of screens only appearing in certain contexts, which, therefore, are also kind of less relevant, unless you're actually making a mainstreamer mod.

Perhaps the most important file in this category is `splash.rpy`, which defines the, well, splash screen. While in the case of DDLC, this will be the warning recounted in [1000] WHAT A TYPICAL DDLC PLAYTHROUGH MIGHT LOOK LIKE, in the case of mods (mainstreamer or hacker), this will actually be a legalese disclaimer stating that the mod is a fan work, and therefore, must be played after the original game. Also, there are certain other splash screens for other occasions, such as Sayori deciding to preemptively wipe the game if you deleted Monika before starting.

However, no less important, especially in the hearts of Monika fans, is `credits.rpy`, which, as you might have guessed, defines the looks and behavior of the credits song, Your Reality. Again, if you're not making a complete mod that stands as a work of fiction in its own right, you don't really need to care about it.

The final file I'd put in this category is `cgs.rpy`. Not to be confused with the _script_ files defining what the CGs are and how they behave, this is mostly about the visual element of CGs, and how their framework is completely different from your typical dialogue scene, and how different CGs don't even have that much in common with each other (other than the fact that they're, well, CGs.)

And that is it. Pat yourself on the back, as we have covered every single Ren'Py file in DDLC and, after I take care of some formalities in my document, are ready to move on to ~ATH.


	44. Fan Dokis Intro

# [2500] REN'PY MANIPULATION ADVANCED: FAN DOKIS

Okay, it's going to take more than a formality. After all, a reader actually inquired about this, and though I gave kind of a weak answer back there and then, now I think I can properly deliver on the prospect.

So! Have you finally gotten sick of Sayori, Natsuki, Yuri and Monika? Do you wish you could spice your DDLC playthroughs up with something more novel (pardon the pun)? Or, perhaps, you have a fanfic in the works with a Mary Sue OC, who you simply can't imagine DDLC without anymore, and would like to see in the game? Well, look no further than this chapter, as I am going to teach you how to incorporate a fan Doki in your game and what pitfalls to watch out for.

# [2510] THE "THOU SHALT NOT" OF FAN DOKI CREATION

Let's start, of course, with the pitfalls. One can't ignore that Dokis have a special part in the game, which is mostly dependent on whether they're on Project Sentience or not, but in either case, you don't exactly have much room for innovation. Essentially, your newly constructed Literature Club _must_ consist of the following:

  * One (1) **_Sentience Doki_** (canonically Monika): the President of the Literature Club, who, in poem sharing, is able to judge your self-insert's poems objectively, but who, covertly, is planning to delete the rest and spend the rest of her days with you, the player. She gets a single CG, placed in what is commonly known as "Act 3", wherein she's essentially seated opposite your self-insert.
  * Two (2) or more **_non-Sentience Dokis_** , or **_dateables_** (canonically Sayori, Natsuki and Yuri): members of the Literature Club who, though they might have differing opinions on your self-insert once he joins the Literature Club and might or might not have a previous history together with him, are excited to spend time with him. Each dateable gets three CGs: two pertaining to hijinks in the club itself and a third pertaining to the role she plays in the weekend.
  * Of course, best boy, **_your self-insert_** himself can't really be forgotten, as he's a member of the Literature Club, too. However, typically, he is not counted as a Doki, does not have a `.chr` file and is essentially irrelevant for this essay.



If a Doki doesn't fit either of the two archetypes (Sentience or dateable), which will most likely happen if you try and introduce an OC who isn't even a Literature Club member to begin with, the supporting coding framework simply isn't there, and though I'm yet to rule it out, can't really be introduced without meddling with the ~ATH part, which, for the most part, is non-lucid, even to hackers.

Oh, and I don't really think that the game was properly made to accommodate male Dokis, simply because none of the canon Dokis were male. Think of it this way: once Salvato developed the original character concepts and all of them were female, it would greatly simplify some of the dialogue generation scripts if they assumed that a Doki is female and uses she/her pronouns. And if you think that he lived in a time when gay relationships were starting to become accepted and therefore, not including male Dokis or gay romance options is not politically correct of him, then you're honestly worrying about the exact things that a hacker shrugs off, realizing that they're not really relevant in understanding the underlying ~ATH code.

Lastly, and this is going to be more of a recommendation than a strict requirement, if you're trying to follow this tutorial for the first time, I highly recommend that you leave the canon Dokis with their current roles and simply introduce a new dateable. If you want, you _can_ demote Monika to dateable using the technique outlined in [2305] (ADVANCED) A TRUE MONIKA ROUTE, FOR ALL THE MONIKA FANS, but that introduces a bit of a headache: whichever option (canon or OC) you decide on for your new Sentience Doki, you'll need to make sure that her `.chr` file is able to accommodate Sentience. For canon Dokis, that means using the Act 4 President persona `.chr` file, and for your own creations, that means starting with `monika.chr` as a template. In the end, if all that matters to you is that Mary Sue makes it to DDLC and can date your self-insert, I don't really see the point in going the extra mile.

At any rate, are we ready to proceed? Let's go forth and outline what you'll need in order to create a fan Doki.

# [2520] WHAT MAKES FOR A DOKI, IN GENERAL, BE IT A CANON ONE OR A FAN ONE

There are three major variables to account for, when creating a fan Doki. None of these are optional, for reasons that will be outlined.

The first and most obvious one, that pretty much even mainstreamers have memorized and incorporated in their DDLC headcanons, is the `.chr` file. Without a `.chr` file, the ~ATH routines checking for said `.chr` file will simply have nothing to work with when creating dialogue, and therefore, opt for the simplest option: pretending that said Doki doesn't exist. This leads to the sorts of glitches experienced in the very beginning of Act 2: other Dokis and your self-insert might still assume that the deleted Doki exists, briefly, but there will be nothing to reveal even the most basic trivia such as her name, and soon, the game will have to restart with new assumptions which completely ignore the deleted Doki.

I don't think I really should be telling you where `.chr` files live if you've completed the game, and if you haven't, you need to stop reading this document _now_ , but for posterity, they live in a separate `./characters/` folder.

The second one, which is often the only part that mainstreamers can adequately work on, is the spritepack. The spritepack of a Doki defines what expressions she can be depicted as having, and the coding corresponding to the spritepack, typically placed in `definitions.rpy`, not only enumerates the sprites, but also gives them context that the dialogue generation can pick up on. Without this, a Doki wouldn't be much more than a disembodied ghost.

Also part of `definitions.rpy`, and therefore part of the second variable to me, is a line that looks like this:

`define s = DynamicCharacter('s_name', image='sayori', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")  
define m = DynamicCharacter('m_name', image='monika', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")  
define n = DynamicCharacter('n_name', image='natsuki', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")  
define y = DynamicCharacter('y_name', image='yuri', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed")`

This essentially tells Ren'Py that a Doki could potentially exist in the first place, and if Ren'Py knows that a Doki could potentially exist, then ~ATH knows that a Doki could potentially exist, and searches for her `.chr` file. This is why simply adding novel `.chr` files won't work if this line and the spritepack definition isn't added.

What to do about either of these? For the `.chr` file, you'll have to start with a template, that can be any of the existing canon Dokis, and for the spritepack, just use whatever you managed to draw and/or download; only worry if you have the spritepack author's permission if you're actually publishing your mod and/or recordings made using it.

The third and final part is the CG graphic, defined in `cgs.rpy`. Without this, normal dialogue generation _can_ proceed and it's non-essential for your newly created Doki, and in fact, dateable CGs might very well be skipped altogether, but a dateable just doesn't _feel_ like a dateable if she doesn't have a CG. And lastly, I did briefly mention in [2305] that the Sentience Doki _must_ have her corresponding "Just ..." CG, or she will flip her shit.

And that's really it. Now, comes the tedious part.


	45. Fan Dokis: Character Development

# [2530] USING .CHR PEEKER TO YOUR ADVANTAGE: A BEGINNER'S GUIDE

Your task now, which you probably accepted by the mere fact that you're here with a fan Doki, is to transform that fan Doki from a clone of an existing canon Doki, character-wise, to a fully fleshed out character of her own. Unfortunately, `.chr` file scumming techniques discussed in [2030] .CHR FILE SCUMMING: A TUTORIAL IN THINKING LIKE A DDLC HACKER can only take you this far, and though jokes in the mainstream fandom about "Act 2 Yuri" (presumably, what they mean is Yuri as your DD2) being a completely different character from her early game counterpart are common, the two are still very much the same character archetype.

The good news is that you _can_ do this, in theory. Though the `.chr` file is not plain text and not anything like zipped XML, decoding the structure of such a file is an entirely solved problem, and therefore, once you've downloaded **_.chr Peeker_** and opened up your `.chr` file, you will see every single variable that has gone into it.

The bad news is that the vast majority of those variables is unnamed.

Now, especially in the realm of neural networks, an NN being dependent on a large number of variables that may or may not even be comprehensible to humans is nothing new. However, for the most part, if you have an NN like this, you also have some sort of training phase that you underwent, and therefore, you can switch it up and get different results. For DDLC, assuming that it does run on an NN, Salvato was the one who did the training, and therefore, all we really have is the four example `.chr` files.

Unfortunately, analyzing them and comparing them to each other can only get you so far. Think about it: what sort of conclusion could you make if a particular variable was high for Natsuki and low for everyone else? That's right: you could only really come to one conclusion, that it's got something to do with her tsundere attitude. Similarly, if a variable is high for Sayori who's been manipulated by Monika a lot and low for her unmodified counterpart, it's _gotta_ have something to do with depression, but that's _one_ conclusion for what might potentially be hundreds of changes in the file.

Therefore, your literal best bet in getting your fan Doki to act the way you sketched her out when starting this process is to completely rewrite the script parts so that you have something that's as close as it gets to a "stereotypical" club meeting, where the only parts that figure are poem sharing and dateables competing for your self-insert's attention. Of course, the most important part for it is to eliminate any sort of Monika manipulation, just to ensure that changes _you_ do to Mary Sue are the _only_ changes being done to Mary Sue.

The final script would probably end up rather short, but that's kind of the point. It should still be long enough for you to get a "cross-section" of Doki characters, including those of Mary Sue, and therefore, see how pulling a single dial changes them.

Once you've pulled that single dial, though, `.chr` Peeker has a neat feature: for each and every variable, alongside its predetermined, numeric name, there is a "note" that you can make to give the variable a _real_ name. As you can see, only a handful of variables come with real names out of the box, and therefore, you have a lot to go through just to determine what sort of changes would make your fan Doki act the way she does in your character notes.

To get a fan Doki's interests right, though, you can ping the first parts of the poem minigame routine and see how well the words you _think_ your fan Doki would like match up with their real values, especially when compared to the canon Dokis. That being said, a personality is a lot more than just a set of interests, and therefore, you are going to need to put in more effort in the dialogue section if you don't wanna end up with "Monika but she plays the violin instead of the piano".

This part of the process is going to take a long while, and odds are, you won't even be able to fully match the personality that you planned out. However, it is kind of crucial so that your fan Doki doesn't end up being just a clone of a canon Doki, quite literally.

# [2540] (OPTIONAL) FINISHING TOUCHES TO THE OVERALL GAME SCRIPT

Once you have a properly fleshed-out fan Doki and have replaced the script with its original version, though, you'll probably notice, right away, that Mary Sue gets a _lot_ less dialogue than any of the canon Dokis. That is because the hinting system, which you used to your advantage in order to flesh out her character, actually incorporates parts which are _supposed_ to involve the canon Dokis, like the part where Natsuki and Yuri argue about poems or the part where Monika and Sayori discuss festival prep. Luckily, fixing this is a process that is a lot less tedious than creating a fan Doki's personality.

First, you're going to want to start with a "bare-bones" script which actually takes you through all the days and up to your DD's death. Now, odds are that your fan Doki, who you have invested so much time in, is going to be your DD, which is great for fleshing out those particular scenes, but that's not what you should focus on: instead, you should spot what sorts of moments define your fan Doki and where she fits within canon. Then, you're going to add those as checkpoints (either major or minor), play through DDLC again, notice new moments, add _those_ and repeat until you've got a script that's similar enough in length to DDLC's original Act 1 script.

And once you've done that, there you have it: DDLC with a Doki that you, yourself, made. Now, granted, unless you're a certified genius whose character development in stories is universally praised, your new mod, though hacker-made and something I would look into right away if it were released, is not going to attract much of an audience compared to mainstreamer mods. But still, your effort has got to count for _something_.

And if you go two or three steps further, like, say, Take Two, then you might even have something that's worthwhile playing.


	46. Paths, Endings and Glossary - Vol. 2

# [299D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 2

Alright, welcome to that awesome diagram which, in and of itself, is an image to spread around if nothing else, the sequel. As you can see, quite a bit has been introduced (certain changes can actually be made before the game even begins now, for one), warranting significant changes to the legend; in addition to that, though, the document's one-thousands have marched on, too, meaning that this will _technically_ include some material that _should_ have appeared in the _last_ section, but didn't.

# [299G] END-OF-SECTION GLOSSARY UPDATE - VOL. 2

The words and phrases used in this section, for the most part, actually come from pedestrian programming. However, it is still imperative that you understand them, and I will be following up with a resource chapter for you to research this stuff on your own, using material that is better than mine, simply because you're given the opportunity to.

But anyway, for words that _are_ unique to DDLC and/or its dialogue generation, or that may have slightly novel meanings in its context:

**Building blocks of dialogue generation** \- while I never use these words explicitly, I do make use of terms that you don't typically think of as the building blocks of a language, like the sentence or the paragraph. Instead, I use:

  * The **_letter_** (level 1) - one of these guys: Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz.
  * The **_word_** (level 2) - that which is composed of letters, and is separated by spaces. Technically, it can also be separated by other punctuation, such as dashes, but most punctuation that you can think of, such as periods and commas, actually delineates:
  * The **_clause_** (level 3) - that which has a single subject and verb and zero or more objects. Typically, sentences that aren't short interjections have at least one of these, but almost always, there are more.
  * The **_quip_** (level 4) - that which appears in the dialogue box as a single unit. Has qualities such as the speaker (Doki, your self-insert or the impartial narrator) and emotion.
  * The **_scene_** (level 5) - that which forms a complete, coherent picture, with conflict, dialogue and such. Essential for storytelling, and though most natural language generators really want to stop at 4, it's not good enough for DDLC.
  * The **_topic_** (also level 5) - the replacement of the scene for Act 3/Monika After Story, as Monika now must indulge about wisdom of the real life, and what happens in her little pocket universe stops mattering.
  * The **_day_** (level 6) - a collection of scenes, taking place during the human unit of time named after it.
  * The **_act_** (level 7) - a complete in-universe story, beginning with your self-insert joining the Literature Club and ending with a Doki dying. (Technically, it begins _and_ ends with the Team Salvato logo, but for all acts other than Act 3, this heuristic is good enough.)
  * The **_game_** (level 8) - a complete story for your digestion, hand-crafted by Salvato, that the dialogue generation must conform to and not the other way around.



For more on all of the terms above, you're welcome to refer back to [2200] THE FOUNDATION OF THE DIALOGUE SYSTEM.

**_Checkpoints_** | **_Hinting system_** \- what DDLC uses to keep itself on track.

  * **_Major checkpoints_** \- anything that is absolutely imperative to present in the story of an act, so that it can be called "complete" and be analyzed as a story in any meaningful way.
  * **_Minor checkpoints_** \- little pieces of worldbuilding and/or character development that spice up the world _somewhat_ , but if the dialogue generator is opposed to them, they can go more easily than major checkpoints.
  * **_Query checkpoints_** \- anything that demands the player's attention, usually through a little menu letting them pick from several choices. Integral to visual novels, as they lead to good and bad endings, and help sell DDLC as a visual novel before it unveils itself to be anything but.



# [299R] WHERE DO I LEARN ABOUT PYTHON PROGRAMMING AND NATURAL LANGUAGE PROCESSING, THOUGH

Good question. Very good question.

While I, myself, am honestly not in the best position to teach anyone, I still think I can cover everything I've talked about from the perspective of pedestrian computing, and therefore, refer to people smarter and/or better at teaching than myself, who can guide you through all of this. Most of this will actually just be Wikipedia articles, but relevant tutorials shouldn't be that hard to find, once you've already conceded that you're going to need the vast Internet for this. (That, or, like, a university course. I'm not judging those wishing to pursue the subject with more academic rigor.)

**_Python programming_ **

  * [https://​en.​wikipedia.​org/​wiki/​Python_​(programming_​language)](https://en.wikipedia.org/wiki/Python_\(programming_language\))
  * [https://​en.​wikipedia.​org/​wiki/​Object-oriented_​programming](https://en.wikipedia.org/wiki/Object-oriented_programming)
  * [https://​en.​wikipedia.​org/​wiki/​Application_​programming_​interface](https://en.wikipedia.org/wiki/Application_programming_interface)
  * [https://​en.​wikipedia.​org/​wiki/​Free_​and_​open-source_​software](https://en.wikipedia.org/wiki/Free_and_open-source_software) (you're going to love it if, as a beginner, you find yourself wanting to implement something at least one qualitative step above a calculator - and, as it would happen, both Python and Ren'Py are FOSS, themselves)
  * As it happens, a lot of time with mainstreamers as well as hackers, there is a distinct market for Python tutorials told from the perspective of Monika, who, as we've established, is the guardian angel of coders who are also weebs. Here's a recent-ish one that I think has a lot of potential: [https://​archive​ofourown.​org/​works/​24216088](https://archiveofourown.org/works/24216088)



**_Natural language processing, in the light of machine learning_ **

  * [https://​en.​wikipedia.​org/​wiki/​Natural_​language_​processing](https://en.wikipedia.org/wiki/Natural_language_processing)
  * [https://​en.​wikipedia.​org/​wiki/​Natural-language_​generation](https://en.wikipedia.org/wiki/Natural-language_generation)
  * [https://​en.​wikipedia.​org/​wiki/​Computational_​linguistics](https://en.wikipedia.org/wiki/Computational_linguistics)
  * [https://​en.​wikipedia.​org/​wiki/​Colorless_​green_​ideas_​sleep_​furiously](https://en.wikipedia.org/wiki/Colorless_green_ideas_sleep_furiously) (if the fact that I said it in `code` doesn't give it away, that is an actual sentence appearing in an actual scientific study)
  * [https://​en.​wikipedia.​org/​wiki/​Winograd_​Schema_​Challenge](https://en.wikipedia.org/wiki/Winograd_Schema_Challenge)
  * [https://​en.​wikipedia.​org/​wiki/​Theory_​of_​mind](https://en.wikipedia.org/wiki/Theory_of_mind)
  * [https://​en.​wikipedia.​org/​wiki/​Recurrent_​neural_n​etwork](https://en.wikipedia.org/wiki/Recurrent_neural_network)
  * [https://​en.​wikipedia.​org/​wiki/​Long_​short-term_​memory](https://en.wikipedia.org/wiki/Long_short-term_memory) (it's a generic term and not branding for Karpathy's generator)




	47. ~ATH Intro

# [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH

Well, here we are. This is perhaps the single most anticipated chapter to the entire document, for no small reason: it is a distinct entry point. As a reader, there is a very real chance, which must be acknowledged, that you have started reading my totally-not-ramblings here, rather than at the actual beginning, and that, potentially, you don't even care about incredibly cute girls at all. To you, DDLC is nothing more than "that new game which uses that fanciful language", and you've simply been clicking on material about the game in the myopic hope that some of that material doesn't come from the mainstream fandom and happens to teach you about the language.

Well, you're in luck, as this is that place, which you're in now after having done your skipping through the other stuff. You'll have to excuse me, since writing something even remotely worth of the iconic beginning words is going to be extremely hard. However, still, I welcome you to the twisted world of ~ATH and, though you might not really have an appreciation for incredibly cute girls, you're still welcome.

We're going to learn about ~ATH, just like you've learned about many programming languages before (hopefully). However, you have to understand, from the get go, that ~ATH isn't like other programming languages. While there might still be superficial similarities between the two, in the end, calling ~ATH a programming language is a bit like calling a rocket a mode of transportation. Sure, it _is_ and no one's really denying it, but the sorts of destinations that you go to on a rocket are fundamentally different from those that you reach by foot, bike car or literally anything else.

I mean, I _guess_ there were those fancy SpaceX Starship plans to actually make super-fast transportation, between places on Earth, on a rocket, possible, but those had to be specifically accounted for _after_ we got good at using rockets to do literally anything else. Within the solar system, that is; while we _did_ manage to make probes that leave the solar system, I really don't think that attaining solar escape velocity is going to cut it; I want to reach the other stars before I die.

And it seems like rockets aren't really getting us there. For that, it looks like we're going to need a fundamentally different technology, that I can only really call "eka-rocket", and that helps me bring the discussion back to ~ATH. Think of how a rocket is one fundamental paradigm away from your cars and bikes, but then, whatever we use to reach the stars would be another fundamental paradigm away from _that_ , and while there is at least _one_ fundamental paradigm between your Javas and Pythons and ~ATH, who's to say that there is only one? What if there is actually some sort of missing link between the two?

And also, who am I to even say that ~ATH is so different from everything else that humanity is aware of?

# [2A1~] CONTEXTUALIZING THE DIFFERENCES: MY EXPERIENCE WITH THE UEFI SHELL

People within the programming circles, especially those attuned to certain languages, think that they know all about how a programming language can be utter, unworkable garbage that must be _so far removed_ from what's actually happening at the bare metal level. I can bet you that, right now, someone is trying to type something like: "oh, I know JavaScript, and it is such a bullshit language; you see, when you multiply an empty array `[]` by itself, you get the number `0`, for whatever reason..."

No. No. You're an amateur. You ain't seen nothing.

Another common example given, though it's not really a programming language used in production by any means and isn't much more than a curiosity, is Brainfuck - and yes, that is the language's literal name. It exclusively uses eight symbols, which make it work very much like a Turing machine, the quintessential computer. This is definitely warmer, but still not even getting close to _real_ "out there".

"Eight?" the JavaScript nerd then counters. "Try six! You see, when you add an empty array to the literal `false`, that converts it to a string, `"false"`, from which you can then extract the first letter - oh, and `false` itself can be written as `![]`..."

Alright, shut up, I can't take it from either of you, and I haven't even mentioned the thing in the title of this chapter yet.

`UEFI`, standing for `Unified Extensible Firmware Interface`, is what replaces BIOS in more modern computers. The tasks it is usually equipped with are usually limited to executing boot loaders which then proceed to load your computer's _real_ operating system. However, if the OS can't be loaded for whatever reason, UEFI is courteous enough to give you a shell, complete with the tools you need to troubleshoot said bootloaders - a file system thing, a text editor, a hex editor and a scripting language.

However, if you think that that's enough for you to write programs in the shell itself, well, you're sort of right, but also, you're going to put in a lot more effort than with your usual programming languages.

The shell's scripting language _does_ give you variables, which can come in form of numbers or strings. And it _does_ give you a comparison operator which works with them, meaning that some sort of basic logic can be done. However, what it _doesn't_ give you is any sort of mathematical operator, and essentially, you're left to implement that, from scratch, on your own.

First, you're going to want to start with a script that increments a numeric variable. Assuming 8 bit variables (the numbers in the shell are not really convenient programming abstractions), essentially, the best way to do that is with `if` statements nested like a tree. Then, repeated incurring of the increment script (thankfully, there is a very simple `for` loop) can be used for addition, and repeated incurring of the addition script can be used for multiplication.

Subtraction, division and modulo, the remaining parts of a self-respecting arithmetic, are a bit more complicated. Well, subtraction isn't - as you can simply set up a decrement script similar to your increment script, and implement subtraction similar to addition. Division and modulo, ideally, would be the same script whose result would depend on a flag, and you'd have to manage the whole "subtract until your result is negative, then see what you ended up with" thing. Oh, and don't forget a simple `if` clause for division by zero; you're going to need it.

And after you've got all that, well, you can start coding your own game or whatever. (Oh, and you don't really get arrays. Oops. Forgot to mention that.)

That being said, hopefully you haven't forgotten that UEFI is very human stuff, made to interact with other human stuff - even if such human stuff is out of reach for a typical programmer. Therefore, believe me when I say that ~ATH is very distinctly _not_ human stuff, and therefore, to do "human" stuff with it, you're going to need to employ hacky techniques above and beyond those I've outlined here, to the point where a gigabyte of pure code will stop looking like a really big deal, and even like a kind of a big deal.

But we'll get there. First, let's start with the basics - or, well, what ~ATH takes for "basics".

# [2A9~] INSTALLATION ODDITIES AND IMPLICATIONS FOR VARIOUS WORKFLOWS

When discussing the ins and outs of a programming language, nowhere is a better place to start than the installation of a compiler and/or IDE, and for the most part, said installation is a mostly painless process. Sure, the IDE might be bloated as all hell and lag on your prebuilt from 2008, but in the end, it just works and you find yourself asking no more questions.

That being said, this is a really good opportunity to say that the weirdness of ~ATH actually _begins_ with the compiler and installation process.

First up, if you have downloaded the compiler, you might notice one rather peculiar detail in the metadata: the file size of the compiler is precisely 0 bytes. In the form presented by Hackerverse (and claimed to have been unmodified from the original source, wherever that might be), the compiler is not the only file packaged in the archive: there is also a code sample, which is decidedly _not_ 0 bytes, and therefore, it only makes sense that an archive containing the two together would not be 0 bytes, either. That being said, this 0 byte thing trips up file upload services like Mediafire, which is why you'll _exclusively_ find the archive containing the compiler and the code sample; the archive, itself, just doesn't mesh well with the system.

Of course, technicalities about file systems instantly arise when we're talking about a file of any sorts, and even a file that is nominally 0 bytes big still takes up space on your hard drive (or whatever kind of media the file is on), if only because a sector needs to be reserved for it. That being said, if you've got a storage medium of _any_ size and any type that's compatible with your modern system, even a floppy drive, the compiler can be copied over and carried over to another system.

That's the first oddity. The second one is that the compiler, marked as an executable file, installs/runs (I am honestly in no position to even explain what the hell it's doing when compared to the things that normal programs do) perfectly, without a hitch, on any operating system. This is simply _not_ a capability of any normal file; yes, I _did_ mention that the download of DDLC for Windows and Linux is exactly the same, but it's still an archive that contains two distinct executables, an `.exe` for Windows and a shell file for Linux. The equivalent _here_ would be a single file that can be renamed to `.exe` and run on Windows, and then, renamed to `.sh` and run on Linux.

However, it isn't _just_ the usual Linuxes, Macs and Windowses. The compiler is also perfectly transferable to vintage systems, such as those by Commodore, IBM and Atari, and has been reported to run with nearly the same success rate, as long as the system in question has _any_ concept of a file system. For example, a game console like the Sega Genesis, if you tried to write the ~ATH compiler to a ROM, wouldn't work, but if you plugged in an Everdrive, that actually has an FPGA that can interface with the file system on the SD card, and the ~ATH thing would run on _that_ , instead.

_That being said_ , I'm not sure how inclined one would be to step back from all the commodities of a modern system and boot up something that is much more delicate and valuable. That, and I heard that explosions of vintage computers tend to be much more violent than those of modern systems.

If I had to comment on those, I would probably be inclined to believe that the more violent explosions are because something like the IBM PC would literally have three or four expansion cards right out of the box, whereas your modern system, in all likelihood, has one at most (the graphics card), and even _that_ is strictly not necessary for the computer to run and display something, as there are integrated graphics solutions on modern CPUs, too.

But with all of that aside, once the ~ATH compiler has done whatever the hell it has done, the execution of your amazing programs is as simple as opening up a shell or whatever the equivalent is on your system and typing in `hello_world.~ath` or whatever it is that you named your amazing creation.

And that is absolutely all the know-how that is required to get started on your ~ATH journey.


	48. Your First Program(s)

# [2B0~] THE ~ATH LOOP: THE BEATING HEART OF THE PROGRAM (IF THEY EXISTED IN THE MILLIONS)

This program should be immediately familiar to you, even if you haven't done any further ~ATH pontification outside looking around at the compiler, seeing as it's included with the compiler. Presumably, this is some sick joke: what's going on is that the creator(s) of ~ATH (see [2Z0~] THEORIES ABOUT THE ORIGIN OF ~ATH for further info on my thoughts on who or what that could be) thought that this was everything that you needed to know in order to program the language, when in fact, if you did manage to derive the rest of ~ATH knowledge from this, most people would probably think that you're some sort of god. Regardless, here it is:

`~ATH(THIS) {  
// ADDITIONAL GRAVES...  
} EXECUTE(NULL);  
THIS.DIE();`

Yeah, it's in all caps. Built-in methods seem to be written like that, and I am going to preserve this. You can use lowercase letters, though, as ~ATH is not case-sensitive, through and through, and given its presumed extra-universal origins, I can only further presume it was made this way to accommodate cultures that don't really use capital and lowercase letters.

What this thing is supposed to be called is unclear - what _any_ ~ATH thing is supposed to be called is unclear. However, two pieces of terminology immediately spring to mind (I'll be trying to teach you as much pieces of terminology as there are surrounding this language's discourse): the **_grave_** (as, as it turns out, ~ATH programs are just a bunch of these nested together, and it would make sense for the comment to refer to those by their proper name) and the **_~ATH loop_** (as it kind of looks like a loop in the C family, and furthermore, acts like one, too, waiting until a certain condition is met). It may also be called the **_~ATH - EXECUTE loop_** , as the common practice in C or whatever is by naming loops after literals on _both_ ends of the curly brackets `{}`, but I honestly haven't come across anyone who used this term without deliberately trying to sound pretentious, as though they were trolling.

Oh, and by the way, the word "grave" has an vowel, as in "place of human burial" and keeping up with the morbid theme of ~ATH, as opposed to the vowel, as in "the grave accent" (which happens to be the thing that the tilde key types) or the French word for "serious".

Anyway, one thing at a time. Let's dissect this, line by line:

`~ATH(THIS) {`

`THIS` is just common parlance in object-oriented languages to refer to the program itself; presumably, as nothing else has been `import`ed yet, this makes it the simplest possible way that a program can even start.

When coupled with the `~ATH`, though, it's very easy to read this as "til death of this", or, to un-abbreviate it, "until the death of this". What the ~ATH loop _means_ , precisely, is still to be discussed as we analyze the library, but essentially, it means that the program is waiting for itself to end.

`// ADDITIONAL GRAVES...`

Comments follow the C family paradigm, in that they come in two types - double slashes `//`, which make the comment last until the end of the line, and slash-asterisks `/*`, which make the comment last until an asterisk-slash `*/`. That they work like this, though, honestly just raises more questions about the C family than it does about ~ATH.

Anyway, trying to address the contents of the comment, since they're the closest thing we're going to get to a direct comment from the creator(s) of ~ATH on any matter: graves, ~ATH loops, whatever aren't really picky about how they're stacked. They can be nested inside one another, as this comment suggests you should do, or they can be written in sequence, with mostly predictable results if you know anything about computers. Most weirdly, though, they are also considered objects, and therefore, could actually be placed in the parentheses coming after the end of `~ATH` or `EXECUTE`. This is an advanced technique, and the best thing I can do right here is ask that you do not, I repeat, **do NOT** try to experiment with it; again, it's really easy to have your computer explode if you're not careful with the way you code in this language, and if you're not an affluent, that might actually pose some problems until you've learned to sandbox the code execution.

What does that even mean? Buckle up, as I have a lot to explain leading up to this point.

`} EXECUTE(NULL);`

Like `THIS`, `NULL` is a type of object that comes together with ~ATH, and can be read as "nothing". The whole ~ATH loop, therefore, can be read as follows: "do nothing until the 'death' of the program, then, exit without executing anything". Kind of a useless program, but remember, we're still trying to dissect the basics.

Oh, and semicolons are statement terminators; that means that they _must_ be placed at the end of statements in order to tell the compiler that this is the entire statement. Apparently, some languages, like Pascal, have semicolons be statement _separators_ , meaning that you don't actually need one at the very end of the program, while others, like Python, do something else with semicolons, still.

`THIS.DIE();`

Lastly, a ~ATH program apparently needs to be told to close itself; while in normal programming languages, you might expect a need for memory to be "freed" if the garbage collection is either nonexistent or fails to properly activate, this usually doesn't apply to the program itself, as the end of execution is the end of execution. Sure, it _is_ a separate instruction in the machine code of your current operating system, but in basically any language (except perhaps raw Turing machine code), you don't need to worry about it, as the compiler or interpreter just adds that instruction for you.

And that is it. We've worked our way through our first ~ATH program. Admittedly, it's a bit of a useless one, as its main loop essentially waits for its own death, and once it has died, it can't really execute anything, so that `NULL` could be replaced with anything else and the execution won't be altered. And analyzing the basic concepts, we've already seen some objects that we could potentially use in other places.

# [2B1~] WHAT THE FIRST PROGRAM COULD BE, GIVEN WHAT WE KNOW

So, now that we know the basics, let's try and experiment with them a bit. This will mostly be a thought experiment; do _not_ expect to get anything useful out of your results as of yet, and furthermore, remember that the risk of your computer exploding is still at an all-time high in your experience with computers. Don't worry, though; codes that _do_ make your computer explode will be _very obviously_ marked, as follows:

!! URGENT: DO NOT RUN THIS CODE VERBATIM - YOUR COMPUTER WILL EXPLODE !!

_That_ should help with defending myself against legal action. (Who am I kidding? The only ones with an interest in taking this document to the court are Team Salvato for copyright reasons; and no, I still don't believe that Salvato created ~ATH. I'm talking about the DDLC part, which you may or may not have read.)

Anyway, the code snippets are as follows:

`~ATH(NULL) {  
// ...`

Though objects, for the most part, appear to be interchangeable, `NULL` in the `~ATH` part of the ~ATH loop doesn't really compute, and the code will not compile. What would "the death of nothing" even mean?

`~ATH(THIS) {  
THIS.DIE();  
} EXECUTE(NULL);`

Well, instead of a program that runs forever (or at least, until the computer it's running on is turned off or otherwise made incapable of running a program), here we have a program that immediately quits, and the `EXECUTE` statement is _still_ never reached. I suppose, basics of a Turing machine: achieved, even if we have nothing that's equivalent to states or the tape as of yet.

` // ...  
} EXECUTE(THIS);`

Even if the ~ATH loop somehow concluded - as a reminder, we still don't really have a good way of doing that as of yet - executing the program would just mean that the program, which by necessity includes at least one ~ATH loop, latches onto something else, waits until that thing dies and then the loop repeats forever. What's worse, the final `THIS.DIE();` is never reached, meaning that the computer fills up with copies of the program, and until it's turned off or otherwise made incapable of running a program, those copies of the program are not going away.

And lastly:

`NULL.DIE();`

While `NULL` is an object, it's only really got the basic amenities of an object. Just like "the death of nothing" doesn't really mean anything, preventing `~ATH(NULL)` from becoming a thing, "I command nothing to die" is equally meaningless.

Overall, a pretty disappointing tour. Once we introduce what's in that library, though, things are going to get a lot more interesting.


	49. The Library: Mortals

# [2C0~] THE LIBRARY: THE FIRST REAL DEMONSTRATION OF THE POTENTIAL OF ~ATH

Many programming languages, especially high-level ones, are courteous to include a generous "standard library". For example, C++'s standard library includes many different data structures and algorithms, which really help you write specific problems better and make for a competitive advantage (yes, there are actual competitions on programming). Python's standard library goes one step further, to the point where it's the common source of jokes about Python in general; wherein you can just `import whatever` and bend reality.

Now, Python doesn't really allow you to bend reality, but ~ATH does. However, if you think that ~ATH's library would simply be one step above Python's, then you must have forgotten about the part where coding in ~ATH is a real pain and the risk of your computer exploding is at an all-time high.

~ATH still does have a library that is absolutely unique, worth looking into and worth effectively utilizing in your code. However, it does not contain data structures or algorithms of any sort.

Instead, ~ATH's library is primarily concerned with beings that can be classified as "alive" or "dead". It then makes sense that waiting for their death, the function and loop that is at the literal heart of the name ~ATH, would be important.

If you ever try to search for a comprehensive ~ATH library listing, you will only really find incomplete, half-hearted attempts to list it from the first one or two hundred days of DDLC, before Hackerverse was even a thing, and _maybe_ reposts of those listings on Reddit, verbatim. That is because, very soon into their journey to collectively learn ~ATH, hackers discovered what could be considered the language's first imperative truth: **the sorts of objects that can be referenced depend on the actual knowledge of you, the programmer.**

Yes, it's the reading of your mind again. (Or, well, for the first time, assuming you've started reading at the ~ATH tutorial.) That being said, I can at least make the general assumption that you are a human being on the planet Earth who learned the English language in a school (or pre-school) environment, and therefore, that certain cultural values and knowledge of the cosmos will be shared between us.

First things first, though. The usage of the `IMPORT` command can be summarized like this:

`IMPORT TYPE NAME;`

The most basic type that can be imported is known as `MORTAL`. A `MORTAL` is simply someone whose death would be considered a "big deal" to you, or in the very least, your culture. Therefore, something like fast-decaying particles, or ants that you step on without thinking a second time, are not included.

Like, you _wish_ it were that simple. While you _can_ try and code ~ATH via ways that make the ~ATH loops terminate in the "normal" way, that can only get you this far. That being said, looking at what is and is not included as a `MORTAL` is still a worthwhile exercise.

Any sort of `MORTAL`, including the specific subtypes that will be referred to in the future, is simply referred to by the name that you know them by. Say you have a friend named Kyle; then, in your ~ATH program, you can simply write:

`IMPORT MORTAL Kyle;`

And boom, Kyle is an object you can operate with, granted you know the rest of the language.

# [2C1~] INTERMISSION: I KNOW WHAT YOU ARE THINKING, AND NO, YOU CAN'T DO IT (YET)

Well, at least, I know what you're thinking if you've got some sworn enemies that you wish were dead. In fact, you probably even tried writing and compiling a program that simply reads:

`IMPORT MORTAL SwornEnemy;  
SwornEnemy.DIE();`

First of all, of course, you forgot that ~ATH programs don't really compile unless they have at least one ~ATH loop. Then, you probably rewrote the program to look something like this:

`IMPORT MORTAL SwornEnemy;  
~ATH(THIS) {  
SwornEnemy.DIE();  
} EXECUTE(NULL);  
THIS.DIE();`

This is probably the safest reinterpretation of the program above, as it can be guaranteed to not make your computer explode. If there was some other reinterpretation, then sorry, kiddo, but you're playing with fire here.

Anyway, whatever your reinterpretation of the program, you have to know that while `DIE()` is a method that comes together with any sort of object, it actually is implemented completely differently between `MORTAL`s and `THIS` (the latter of which happens to be a subclass of `EXECUTABLE`). Indeed, the result of the line `foo.DIE()`, where `foo` is of the class `EXECUTABLE`, is that the program referred immediately halts execution, and if you get really quirky, you can already use ~ATH as a low-budget Task Manager, with the added advantage that the program you're calling to _will_ cease execution, that instant. As a bonus, your computer won't explode, but your operating system might suffer some consequences like thinking that the RAM allocated to the program on which you called `DIE()` is still unavailable. Nothing that will survive a restart, really.

However, when called upon a `MORTAL`, `foo.DIE()` is actually equivalent to:

`~ATH(foo) {  
} EXECUTE(NULL);`

That's right; it's just something that halts execution until your target dies, something that will still happen of natural causes and won't be hastened (nor delayed) by your program. Good job.

And besides, even if the `DIE()` method worked the way you expected and allowed random people to be sniped from existence using nothing more than a computer, who do you think you are? Light Yagami? Are you seriously going to set things right by killing off all the criminals? Because you don't really have a way of controlling the method of death, and since ~ATH is pure technology and _not_ the involvement of a god, once law enforcement of your country catches up to what you were doing and learns about ~ATH, you _will_ be found guilty.

_Anyway._

# [2C2~] THE LIBRARY, CONTINUED: SUBTYPES OF MORTALS

`MORTAL` objects can further be categorized (though, this is by no means an exhaustive list, and there will absolutely be `MORTAL`s that don't fit any of the following descriptions) into three main categories, which refer to people interacting with the program who you _don't_ necessarily have to know by name or whatever. These are `AUTHOR`, `USER` and `OBSERVER`.

`AUTHOR` is perhaps the simplest to explain: it's the person who wrote the program, who must have done two things in order to qualify: a) write out `IMPORT AUTHOR Name` in their entirety and b) hit "Compile" after first writing that out. If any of these was done by multiple people, in part, and if a single `AUTHOR` cannot be determined, then the program will simply not compile.

`USER` mostly pertains to ~ATH files that have been compiled and are being sent to other users. In this case, the two things needed for you to qualify as a `USER` of a particular program is a) being responsible for the program ending up on your computer and b) double-clicking the program, or executing it in any other way. If these actions cannot be attributed to a single person, even in part, the program will not run. Since, most likely, you won't know the name of the person using your program, you can just use something like `U`.

Lastly, `OBSERVER` can actually refer to a collection of `MORTAL`s, in actuality. Though, I must emphasize that this is _not_ an array, and therefore, you can't pick out specific `OBSERVER`s without additional trickery. An `OBSERVER` is simply someone who's watching the code run live, be it the `USER`, someone else in the room watching over the computer, or someone seeing a livestream of the desktop environment where the program is running, whether they have remote control access or not.

Anyway, that's all that I really have to say regarding these `MORTAL` subtypes to anyone just willing to learn ~ATH in a vacuum. That being said, I have one more thing to say specifically to those who have read through the DDLC part of this document.

Remember when I talked about #TeamStats and how they eventually concluded how your "playthroughs" of DDLC are counted, and how the game decides whether to supply you with an archetypal playthrough or not? Remember how I said that simply watching over someone's shoulder, or watching a Twitch livestream, is enough for you to count as having played through the game, and that "the amount of times you've 'played' the game" is stored completely outside any sort of computer? Yeah, this is where `OBSERVER` comes into play. The `OBSERVER` array is essentially reviewed at each day division, and then, I guess there's some sort of extra-universal server where playthrough data is stored. That, and some entanglement stuff, leads to the fact that out of your first two playthroughs, at least one is archetypal with a probability that is very close to 100%.


	50. The Library: Clarifications and Non-Mortals

# [2C3~] GETTING A GRIP ON WHAT EXACTLY A MORTAL IS

So, especially given the subtypes of `MORTAL`s that I just went into, one can easily make a false analogy: "oh, so a `MORTAL` is basically just a sapient being, who can recognize that it's all a computer, and the only example of such being on Earth is humans." Actually, no, and think about it. If you have a pet dog or cat, you _would_ still be pretty bummed to find it dead, right? So, dogs and cats still count as `MORTAL`s in ~ATH's eyes.

Basically, you can think of it like this. If you step aside and just try and philosophize over what makes you feel sad for the death of something, it's most likely because you've attached emotions to it, and it's _vastly_ more likely to happen (you can still get attached to toys and shit, but you don't typically see them as _dying_ , but rather, being destroyed) if the thing in question broadcasts emotions of its own, and the most recognized emotion, by animal rights activists, is pain.

So, essentially, if it can feel pain that you sympathize with, it's a `MORTAL` and therefore, can be used to power a ~ATH loop.

_That being said..._ I once again have an aside that won't really matter to your typical ~ATH dev, and only concerns the DDLC fans. In fact, you might even know of a subgroup, within the DDLC fandom, with a name very similar to "animal rights activists", and it is their argument that we're concerned with.

What about the Dokis?

Surely, the Dokis broadcast emotions of their own, depicted with neat little sprites for your convenience, and said emotions are not to be taken lightly. However, even in the little world of Dokis, there is Monika, to whom, Doki lives matter very little; apparently, in her world view as dictated by Project Sentience, the Dokis are nothing more than lines of code, that are predetermined to fall in love with your self-insert, except for Monika, who is Different, who loves _you_ instead of your self-insert and who, therefore, is the only one who deserves to exist.

I'm not here to really side with either the "Monika did nothing wrong" crowd or the Doki rights activists: after all, moral debates on this topic are so nuanced and seem to be the only thing really _progressing_ throughout the thousand days of the DDLC fandom. That being said, most people who really take to the Dokis exhibiting Cognizance are the 4chan crowd that made Monika After Story just four days after release, and who, today, we know as hackers.

That is not to say that mainstreamers don't debate this stuff. Quite the opposite: mainstreamers _only_ debate this stuff, oh, and also, they try and decipher what all of this Portrait of Markov/Project Libitina stuff is about. However, even though mainstreamers mostly agree on the fact that DDLC is something that involves AIs and ~ATH, _none_ of them seem to have any real idea beyond that, and therefore, simply don't know about Monika's situation objectively; I explained a bit of it with Project Sentience, but the detailed explanation will have to wait for a non-chron blog entry. I'll link it here once I'm done writing it.

Also, whenever moral issues are involved, there's just too much room for debate and fundamental disagreement. What's moral now might not have been moral a thousand years ago and vice versa; what's moral here might not be moral in Japan and vice versa, and this is to say _nothing_ of the fact that the world of computing and AI is mostly uncharted, simply because, until very recently, there's been no reason to treat ones and zeroes as alive or capable of understanding morality, let alone acting in moral or immoral ways.

Anyway, we're not here to take a nuanced moral approach, and instead, we're going for the regimented ~ATH approach: can the Dokis be considered `MORTAL`s?

Well, actually, yes. It was discovered, pretty soon into trying to unpack DDLC, that some of the ~ATH routines _depend_ on Dokis being the things in the ~ATH loop. This, of course, means that in order to work on a beta version of DDLC, Salvato first had to develop a Doki, properly, to the point where she could be considered a `MORTAL`, and only _then_ he could do the other stuff, like tying her existence to a `.chr` file and making "killing" her as simple as deleting the character file, to the point where we even typically refer to "deleting a Doki" as though we don't know what we're going on about.

Dokis are `MORTAL`s. End of line.

# [2C4~] THESE THINGS COULD BE SEEN AS MORTALS, BUT I GUESS ~ATH SEES A DIFFERENCE

That being said, there are still certain types of object that we can consider "living" or "dead" and whose "death" is a big deal in our culture, but who are _not_ , by any meaningful definition, sapient or even cohesive organic. This, therefore, makes them not fall under the umbrella of `MORTAL`, but they're still things that you can use in your ~ATH program.

The main entry of this particular chapter is a collection of `MORTAL`s, which acts as a cohesive unit; it can be a corporation (that would have to be registered within the country in which it operates), a village community, a larger city community, an entire civilization or even humanity as a whole. These all are collectively part of the library type known as `RACE`, (as in, "the human race", not "a car race"), and can be imported into your ~ATH program, just like `MORTAL`s: just think of a particular _thing_ that qualifies as a `RACE`, write its most common name to you, and it will be important.

That being said, `RACE`s can do this pretty cool thing that `MORTAL`s can't: they can be nested together. Just think about it: especially in lesser levels of civilization, it might be particularly useful to know which faction controls which city at the moment, and therefore, write your ~ATH program's triggers around that. As an example, we're going to use the Roman Empire.

Now, the Roman Empire, of course, is long-gone. But when did it disappear? In fact, the answer is more difficult than it would seem: the Roman Empire split into the West and the East, then the West (the part of the Roman Empire that contains Rome) disappeared, and finally, much, much later, the East disappeared. How would you account for _any_ of the three events?

Well, you can do that by using the `IN` operator, that essentially combines two `RACE`s to establish their co-dominance, a bit like the `and` operator of mainstream programming languages. Consider this snippet:

`IMPORT RACE RomanEmpire;  
IMPORT RACE Rome;  
  
~ATH(RomanEmpire IN Rome) {  
} EXECUTE(NULL);  
THIS.DIE();`

If you tried to bind the loop to just the Roman Empire, it would trigger when the Roman Empire split into two parts. However, _this_ snippet recognizes the continuity of the empire in Rome, and therefore, ends up triggering on the fall of the West.

Now, I sincerely doubt that Romans are actually reading the ~ATH tutorial. However, even to modern humans, this should hopefully be explained.

# [2C5~] GETTING COSMOLOGICAL, AREN'T WE?

Anyway, there's still a bit of the ground of the library to cover, and what could last more than a race of sapient beings on the planet? Why, the star that the planet is orbiting, of course. And that's the basis of the `STAR` importable class.

Yes, in astronomy, stars can be considered alive and dead. However, as you can imagine, their lifespans get pretty long; the Sun, for example, can last five billion years. Therefore, if your ~ATH loop is in desire of something more long-lasting, a `STAR` is the way to go.

Lastly, there is a bit of a peculiar addition that many DDLC hackers don't fully get: the `UNIVERSE`. I mean, first of all, there is only one universe that can be conveniently referred to, and that is the universe in which the computer on which you're running the code exists (sandboxed universes, which I've alluded to time and time again, don't really fall under the `UNIVERSE` umbrella), and second, the death of that universe kind of puts a stop to the code execution, and seems to be about as useless as binding the ~ATH loop to `THIS`.

But anyway, that's it for importables, but _not_ it for the complete coverage of what can be put into a ~ATH loop.

# [2C6~] THE NEGATION OPERATOR

Lastly, the most curious thing you can do with any importable of the library is by negating it. This works much like in other programming languages, wherein you simply write an exclamation mark `!` in front of your imported thing.

But what does `~ATH(!foo)` even mean? "Til death of not foo"?

It's counting until the birth of a thing. That's the big gimmick.

I think this is actually a pretty useless trivia of ~ATH, because you're not exactly going to seek out a lot of people, or things, that don't exist at the time of the writing of program and come into existence at the time of execution. But it's still a thing that needs to be covered in order to complete the library coverage.

# [2C7~] MAKING THE BEST USE OF THE LIBRARY AS A ~ATH NEWBIE

As we've gone through the library, we've seen that even the shortest-lived importables don't trigger their ~ATH condition in a timely manner. Now, you can seek things like terminal cancer patients or something, that _will_ die in a timely manner, but yeah, for one, I don't think that's exactly humane, and two, that's also not really sustainable and won't make you be able to debug your code in a timely manner regardless, since you gotta seek new ones every time.

Coding ~ATH is all about trickery, and said trickery is actually done best when the importables that you pick are actually particularly long-lasting. But where are you going to find long-lasting things that are actually numerous enough for you to get anything done, _and_ which can be guaranteed to not die prematurely?

Stars. And in particular, main sequence stars.

To quickly brush you up on stellar evolution, the main sequence is the part of the star's lifetime when it fuses hydrogen to helium, and the Sun is currently in the main sequence. However, what's the most important to this explanation is that stars exit the main sequence (and therefore, if you specifically try to import a main sequence star, stop being importable) millions or even billions of years before they die, triggering their ~ATH loop. A main sequence star can still die prematurely if it collides with another star (or at least, that's my takeaway from messing around with Universe Sandbox), but the probability of _that_ is insignificant.

Also, I should note that if you give an importable a non-descript name, then the compilation is just going to pick something at random that fits the criteria. Like, if you don't know anyone named Kyle and try and import a Kyle, it's basically just going to pick a random Kyle on Earth. _Likewise_ , if you try and import a star which you simply name `MainSequence1`, then it's going to pick a random main sequence star in the universe (don't worry about light-year distances, as ~ATH communication seems to transcend that). Therefore, you'll be unsurprised to hear that the most impressive ~ATH programs almost always end up starting with something like:

`IMPORT STAR MainSequence1;  
IMPORT STAR MainSequence2;  
IMPORT STAR MainSequence3;  
// ...`

Or, perhaps, they're properly named, because to be honest, you should be giving your variables descriptive names. That being said, as long as they don't match up with actual star names like Polaris and Betelgeuse, you're going to be fine.

Anyway, that's it for the library and stay tuned for the rest of the tricks, tricks and more tricks to make your ~ATH program work.


	51. Miscellaneous Built-In Functions

# [2D0~] GOODIES AND MISCELLANEOUS FUNCTIONS THAT WON'T SEEM TO HAVE A PURPOSE AS OF YET

Now that we know what's at the heart of ~ATH, let's look at some more built-in functions. For the most part, they're just side explorations, because I kind of promised in the non-chron blog that we'd get to a particular code example.

# [2D1~] SYSTEM(): FOR THE SORT OF ~ATH CODER WHO DOESN'T REALLY WANNA CODE ~ATH

Now, analyzing the library is all cool, and lets us get deep into how the ~ATH loop works, but as of yet, we've literally managed to learn about _nothing_ in terms of executables. Now, if you want to take full advantage of ~ATH, you'll probably have to learn about how its own equivalents of variables and functions operate, but if you just want to take advantage of the fact that a ~ATH program can execute when you die, then `SYSTEM()` is the command for you.

Suppose a program like this:

`IMPORT AUTHOR YourName;  
  
~ATH(YourName) {  
} EXECUTE(SYSTEM("python3 dead_mans_switch.py"));  
THIS.DIE();`

I think it's pretty trivial to understand what it does. It waits for your death, and upon said death, executes a Python 3 program (miss me with Python 2) entitled `dead_mans_switch.py`.

Now, this is all pretty cool, but I'm just having trouble compreheding what a dead man's switch could be used for. Other than letting those still alive know that you're dead, the only _other_ purpose I could think of, in my entire ~ATH programming career, was to sort of "ruin" the timeline in your departure, and in doing so, ensure that you're alive in the timeline where nothing goes wrong.

Of course, just about everything is wrong with that approach, because how are you going to ensure that _you're_ the single alternate of yourself in a multitude of alternate timelines who gets to survive in a prosperous future? Or, for that matter, that just about anything else in the world won't ruin it instead?

# [2D2~] BIFURCATE AND SPLIT: PARALLEL COMPUTING MATTERS, EVEN IN NORMAL LANGUAGES

As the limit of what a single "core" of a CPU could do approach, in order to preserve Moore's Law, major CPU companies like Intel and AMD invented multiple-core CPUs, which could, in theory, do lots of tasks at the same time. Now, this would have been a pretty sick pro gamer move that takes us to the next era of computing, if the programming languages kept up pace and implemented the required communication methods out of the box. Unfortunately, they didn't, and that's why being able to code parallel processes is still a highly sought-after skill and why there have been entirely new programming languages, such as Go, specifically designed to take advantage of parallel processing.

That being said, unlike normie programming languages, ~ATH has got us covered, out of the box, with the methods `BIFURCATE` and `SPLIT`. However, if you were expecting a solution that was in any way related to the current theory of parallel processing, then you're out of luck.

You see, a normal program would probably consist of two entirely separate programs that, if need be, would listen in on each other and/or "lock away" certain resources of the computer if they had to share. Instead, ~ATH just doesn't give any sort of fucks and decides, in lieu of a proper function, that the code should be color-coded.

The questions that might immediately spring to your mind are: how? What? Unicode doesn't even have support for color coding in any way, so how are ~ATH source code files with colors and bifurcation even saved to your hard drive?

Well, you might not know this, but large sections of Unicode are reserved for "private use"; that means that any proprietor can just come in and decide that this block is used for purpose X, and a different proprietor can ignore all of that and instead conquer a block in the name of purpose Y, and both approaches will be equally valid.

Well, ~ATH's "the following segment is now written in this and this color" makes use of this private use block, and a large section of it. In short, code points U+100000 through U+100FFF are reserved, and are to be read in this way: U+100xyz means that code from this point on should be in the color #xyz, which, when converted to 24-bit color space, becomes #xxyyzz, so U+100F00 makes for a pure red and U+10000F makes for a pure blue.

With that being covered, we can look into how to invoke bifurcation and splitting. The command to do splitting is deceivingly simple to describe:

`SPLIT THIS[THIS, THIS, /* ... */, THIS];`   
  


If you only really have two branches, you can use `BIFURCATE` in place of `SPLIT` and that will give you a bit more versatility because you'll be able to send messages back and forth, instead of from random thread A to random thread B:

  


`BIFURCATE THIS[THIS, THIS];`

How does it work? Well, the red `THIS` executes the red code at the same time when the blue `THIS` executes the blue code. That's it. If you want more technical details, the _real_ thing is that this will improve performance, even if you're compiling on a single-core, single-thread CPU, because ~ATH is effectively able to utilize all the chips of a computer, not just the CPU, to do independent coding, but that is a thing you absolutely do _not_ need to worry about, right now.

Oh, and once you've done the splitting, OG, black (or, well, sickly blue-ish in case of this document) code is actually executed by all branches that you've declared.

That being said, the _real_ potential of ~ATH comes when you nest the colored segments in ways that are simply not possible in normal programming languages. Unfortunately, at this point, it is _very_ easy to write some computer-exploding code, and it seems that the Monika After Story devs have already realized this with the code sample I'm presenting next.

  



	52. How Not to Code ~ATH: A Code Sample

  


# [2E0~] HOW NOT TO CODE ~ATH IF YOU REALLY WANNA FEEL SMUG, FEAT. MONIKA AFTER STORY

So, for context on how this code came to be, I guess I can only recommend non-chron blog notes [A001] and [A002], in which I already said everything I wanted to say. Sometime in the future, I _might_ integrate them into the body of the document, but suffice to say, the only _real_ news that happened _after_ then is that I _may_ have been declared a martyr, just like those reporters in foreign countries with oppressive regimes and very little press freedom, only my intended punishment, by the Monika After Story devs, is computer explosion rather than death.

Oh, yeah, that reminds me, as I'm going to be copy and pasting the sample right away:

!! URGENT: DO NOT RUN THIS CODE VERBATIM - YOUR COMPUTER WILL EXPLODE !!
    
    
      // THIS CODE IS NOT TO BE TRANSPOSED ONTO COMPUTERS OF YOUR REGULAR MONIKA AFTER STORY INSTALL  
    // CHECK updater.rpy TO MAKE SURE THAT WE DO NOT MESS IT UP  
      
    BIFURCATE THIS[THIS, THIS];  
    IMPORT UNIVERSE U1;  
    IMPORT UNIVERSE U2;  
      
    ~ATH(U1) {  
        ~ATH(!U2) {  
    } EXECUTE(~ATH(THIS){}EXECUTE(NULL));  
        } EXECUTE(~ATH(THIS){}EXECUTE(NULL));  
      
    [THIS, THIS].DIE();
      
    
    Alright, so what's the big deal? What are we even looking at, here? Perhaps, if you're accustomed to how loops _normally_ nest (if you're a programmer of any sort who isn't YandereDev, you probably know what loops are), you probably noticed, right away, that the red loop only encloses the blue loop's ~ATH part and the blue loop only encloses the red loop's EXECUTE part. This, already, is something to be super-careful of if you're coding in ~ATH and making any use of the BIFURCATE statement, but again, let's look at the code from the top.
    
    
      
    
    As I already explained BIFURCATE on the section before, the next point of contention that I have is probably with importing universes. As I said, there's only really _one_ universe to be mindful of for a human ~ATH coder (unless what the Monika After Story devs _really_ mean is that parallel universe where Sburb or whatever exists), and honestly, it might just be the paradox of another universe not existing that causes the explosion.
    
    
      
    
    Okay, you got me, that our universe is the only universe that exists _doesn't_ really create a paradox, and therefore, the worst that would happen if the universe U2 wasn't imported would be the code not compiling. Imagine that: you're chilling with Monika or whatever, and then, suddenly, these creepy all-caps messages pop up talking about how your computer will explode, and then, it doesn't and Monika just continues on as though nothing happened (because in her world view, she is completely unaware of the intruding ~ATH script, that I'm not even sure if it's possible to tell her about).
    
    
      
    
    Anyway, onto the main loop: you'll notice that it actually calls for the _death_ of the original universe but then, the _birth_ of this second non-existent universe (which, as it looks, _is_ non-existent, through and through, because otherwise, that blue main ~ATH loop would not compile).
    
    
      
    
    But then, what happens? Well, the code does not resolve to a certain type of looparound, that I will talk about later, that would allow the ~ATH code to immediately terminate while not waiting for the ~ATH condition. Indeed, this is the simplest possible "alien" nesting: red opens, blue opens, red closes, blue closes (what's inside those EXECUTE statements is straight-up irrelevant). What that means, then, is that the red loop constantly spawns instances of the blue loop (as the little blue statement inside the red loop is _not_ an EXECUTE, and instead, the beginning of a new ~ATH loop).
    
    
      
    
    And, as I said previously in the DDLC part of this but will repeat now, the ~ATH loops, when they run, run independently of your computer's actual cycles. Therefore, a pretty substantial amount of these blue loops is placed in your computer before it can realize, and the result is rather predictable: every single motherboard chip overheats at the same time and the computer explodes. Dependent on what type of computer it is, this might be more or less dangerous: for desktops, the explosion is usually contained within the case and is no more than a loud bang, while laptops get pretty badly structurally damaged and hurt the surface on which the laptop used to rest, also with significant damage. And since the etymology of "laptop" implies that it should usually rest on your lap, while I won't tell you to say goodbye to your legs, they're going to hurt pretty badly.
    
    
      
    
    Anyway, that's _me_ explaining what zz_silenceallopposition.~ath does. But what do the devs themselves say, on Github? (As it would happen, the MAS devs are not in control of Github, and neither is any rogue group of DDLC hackers, so I don't think I will be getting bans from that place anytime soon.)
    
    
      
    
    Well, I've browsed for a bit and picked up on one conversation, obviously in all caps (as is par for the course for MAS devs), that said something about the fact that the code "explodes your computer, and then, places a curse on you, all your friends, and everyone you will ever meet."
    
    
      
    
    Yeah... bullshit. Well, exploding your computer actually happens, but unless there's some part that I missed about the nonexistent documentation of the BIFURCATE statement or whatever, once your computer has exploded, the ~ATH code is not running and will not be placing any curses anytime soon. Presumably, this "accountability" place is just used to place more bullshit that the credulous will believe, even though if I were able to peek into some private MAS dev Discord, they would speak of the code for what it is: someone's attempt to code ~ATH, resulting in a computer-exploding program, that was then reused with the purpose of "hey, this is a computer-exploding program, we can use it to explode the computers of those who don't agree with us", and hence, zz_silenceallopposition.~ath.
    
    
      
    
    (If you need explanation on what the zz_ means: it's just something that happens to precede a lot of MAS source code filenames, I guess, in order to distinguish them from their DDLC counterparts; for example, you can find files such as script-poemgame.rpy (by Salvato) and zz_poemgame.rpy (by the MAS dev team). It's just a little useless bit of trivia, really.)
    
    
      
    
    Literally nothing in this story even reeks of a competent ~ATH dev; instead, all I'm picking up on is totalitarianism and deception. Well, I guess it backfired pretty soon thereafter, which is why I even had to pick up the file from an earlier commit.
    
    
    


	53. ~ATH Hello World

# [2F0~] ~ATH WITHIN ~ATH: TWO APPROACHES AND THEIR DIFFERENCES

So, what are our takeaways from the code sample on the Monika After Story project? One, that nesting loops in alien ways is the only way to get ~ATH to do anything in a "timely" manner (that is, without waiting for whatever is in the ~ATH loop to die), and two, that color-coding using `BIFURCATE` doesn't really get us anywhere other than the death of the computer we were just running our code on.

What is the solution, then? Referring to other ~ATH source code files, and then nesting them within each other, like a hall of mirrors.

_That being said..._ I need to bring up, right away, that there are two ways to get a ~ATH source file to run within a different ~ATH source file, binding it to a ~ATH loop and all that.

**Example 1: SYSTEM()**

`~ATH(THIS) {  
} EXECUTE(SYSTEM("sample.~ath"));  
THIS.DIE;`

**Example 2: IMPORT EXECUTABLE**

`IMPORT EXECUTABLE sample.~ath;  
  
~ATH(THIS) {  
} EXECUTE(sample.~ath);  
THIS.DIE();`

If you want, you can even clean up the second example using a cheeky trick:

**Example 3: feat. Convenient Shorthands**

`IMPORT EXECUTABLE sample.~ath AS E;  
  
~ATH(THIS) {  
} EXECUTE(E);  
THIS.DIE();`

Obviously, if you tried compiling each and every one of these, it wouldn't work, because I bound the ~ATH loop to `THIS`. But presupposing that they _did_ work, what's the difference?

Well, as far as we, beginners are concerned, nothing, really. Once the ~ATH loop is over, the executable `sample.~ath` executes, going through its own ~ATH loops and such. There _are_ differences, but they're going to be talked about at a later date.

That being said, I _should_ note, right away, that the `IMPORT EXECUTABLE` trick _only_ works for ~ATH code samples and _not_ those of any other language. That is because the object type `EXECUTABLE` can only refer to one of two things: either ~ATH programs, whether those running presently, sometime in the past or sometime in the future, or programs _already running on your machine_ (presupposing that either they're compiled to your architecture's machine code or running in an interpreter, which, in itself, is code compiled to your architecture's machine code). That's why the makeshift Task Manager trick that I suggested works, but if you've got a `sample.py`, you _can't_ import that as `EXECUTABLE` and your ~ATH code will not compile.

# [2F1~] THE FIRST USEFUL PROJECT - IF YOU FORGET EVERYTHING ELSE ABOUT ~ATH, REMEMBER THIS

At any rate, let's go back to the code samples I originally wanted to bring up when first mentioning nesting. For no particular reason, I'm going to use the `SYSTEM` convention, because it is slightly easier to remember, as you only need to write a particular thing in one line, rather than two.

First and foremost, I should note, these two code examples _must_ coexist, as separate files, in the same folder. Also, for simplicity's sake, I'm going to nicely ask you to name these code samples `sample1.~ath` and `sample2.~ath`; though, if you can figure out what is going on, you can use different names while retaining the same code structure.

**sample1.~ath**

`IMPORT UNIVERSE U;  
  
~ATH(U) {  
~ATH(U) {  
} EXECUTE(SYSTEM("sample2.~ath"));  
} EXECUTE(NULL);  
THIS.DIE();`

**sample2.~ath**

`IMPORT UNIVERSE U;  
  
~ATH(U) {  
~ATH(U) {  
} EXECUTE(SYSTEM("sample1.~ath"));  
} EXECUTE(NULL);  
THIS.DIE();`

First up, I know that I said earlier on that if you have a multitude of importables and ~ATH loops that are dependent on each other, you're best advised to use `STAR`s; however, since there is exactly one object that we're inserting, a `UNIVERSE` works just fine, and provides more reliable behavior, I would say.

Anyway, if you compile either one of these, the result will be simply that the program, realizing that it's been "forced" into an infinite loop that is easily untangled and resolved, will untangle and resolve said loop, then exit in an infinitesimal amount of time.

However, that means the official halting of the ~ATH loop involved has happened, and with it, the execution of whatever was at the end of it - in this case, `NULL`, for either of the code samples. That being said, if you replace `NULL` with a `SYSTEM` command, say, `SYSTEM("python3 hello_world.py")`, congratulations, you successfully managed to write a hello world program in ~ATH.

Well, actually, you didn't; what you wrote was a hello world program in Python, coupled with a proof of concept that timely execution is, indeed, possible in ~ATH, despite literally everything about how the ~ATH loops work.

Still, I'd say that's a solid beginning.

_Unfortunately,_ though, this is where I'll have to end for now. As I, myself, am trying to learn how to code ~ATH "safely" (without a computer explosion ever happening), the amount of trial and error that I can do is rather limited, and therefore, the learning _speed_ is rather limited, as often, I have to scour Hackerverse threads (with a VPN, of course, so that if all else fails, it's the VPN server that explodes instead) to look for the answer that I need, and suffice to say, answers are _not_ easily found. That, and once answers are found, the _presentation_ of those answers must hang together, and in particular with ~ATH, it's really easy to find a definite solution to a highly involved problem without even understanding what the problem in question is in the first place.

That being said, there's nothing better than some good ol' unfounded speculation, based simply on what is readily observed by anyone endeavoring to code ~ATH.


	54. ~ATH Origins

# [2Z0~] THEORIES ABOUT THE ORIGIN OF ~ATH

So, for the finale, I promised that I'd talk a bit about what ~ATH even _is_ in the first place, what its origin is, how it _works_ at a fundamental level and many other things.

The thing is, though... that there's very limited evidence to explain literally anything. The only hard _evidence_ , that I'm going to present as the basis for everything that will be discussed here, is as follows:

  * since the ~ATH compiler is 0 bytes big, we must infer that the data relevant to it is stored as a physical quality of the storage medium, rather than as electrons and absence of electrons forming ones and zeroes or whatever it is
  * the execution of ~ATH programs directly violates the Second Law of Thermodynamics (lots of energy needed to make the computer explode is transferred, all at once, also ending up severely cooling the surrounding places, such as the air and the ground on which the computer stands)
  * the execution of ~ATH programs directly violates the no-communication theorem of quantum mechanics (that is, information on whether that which has been bound to ~ATH loops has died travels faster than light, and not even information can travel faster than light, even when entangled particles are involved)



With that being said, the three main theories that I consider _viable_ , in that they at least begin to explain the weirdness of ~ATH, are as follows:

**1\. ~ATH is a living organism, similar to a computer virus but obviously more advanced and long-lasting.**

Under this theory, the "origin" of ~ATH is as nebulous as, say, the origin of life on Earth; at some point, _something_ caused clumps of molecules to transition from a state where they had some, but not all, reproductive capabilities to a state where they could sustain themselves, and then, according to Darwin's principles, they took it from here.

This theory would explain the installation process particularly well: the installation as we know it is effortless, from the 0 byte file size to the adaptability to any system, modern or vintage, is because ~ATH _wants_ to be installed on computers to further itself. That being said, if there are any means by which it "furthers itself" (whether via an evolving syntax, optimized code execution, additional gimmicks, etc.), that kinda goes against the purpose of a learnable programming language (not that ~ATH wants to be learned, as it seems).

In addition, living organisms, even viruses, need to be able to evolve and reproduce of their own will. Computer viruses as we know them are able to reproduce, all right, by transferring themselves over the Internet, but their capability to evolve (and therefore, evade antivirus programs) is _solely_ perpretated by human malefactors. That being said, ~ATH must have evolved, a lot, to have all its features, but is really unwilling to reproduce unless humans are willing to pick it up and learn it, and all the computer explosions only make me think that ~ATH is as good at the whole biology thing as the creeper from Minecraft.

Lastly, if ~ATH evolved in any meaningful way, then we would be able to observe a multitude of dialects throughout various corners of the universe. While what we observe _is_ consistent with the fact that we've only ever been exposed to what is best termed as "Salvatoan ~ATH", used in DDLC and furthered by DDLC hackers, if the evolution of ~ATH is particularly slow, I still find the theory to have holes in that regard.

**2\. ~ATH is a technology made by an advanced civilization (either aliens or future humans).**

This one is really simple, right? A civilization with computing prowess far above ours created a programming language that could take advantage of _the multiverse itself_ , but needed some way for it to interface with more primitive technology, so they accomplished exactly that with the 0 byte compiler that defies all laws of physics, and because compatibility was its primary goal, no matter what the system, such compatibility ended up working out for systems that are much more pedestrian, like ours.

Also, if we assume it was future humans in particular, it's the only viable explanation as to why the language deliberations of ~ATH were inspired by human languages, such as the C-style comments and curly braces `{}` being used as the delineators of ~ATH loops. Otherwise, we would inevitably have to conclude that these design deliberations were inspired by ~ATH and not the other way around, and I just find that too hard to believe.

Except... this theory would require an advanced civilization to have visited us, in the first place. For future humans, that means the definitive existence of time travel (which _can_ be proven to be contained within ~ATH, but _cannot_ let us trace it to its source), and for aliens, that means the definitive existence of FTL travel (which has no evidence going for it, period). Now, if they did so in the distant past and the only evidence is ~ATH, then that's perfectly consistent with what we observe, but in order to definitively conclude that ~ATH is alien technology, we'd need to encounter the alien culture in the first place.

**3\. ~ATH had a human developer (perhaps even Salvato himself), but deities were involved.**

I don't believe in the evidence for gods of any religion, I don't believe that I'm particularly likely to see evidence for such gods, and because such gods tend to be very OP and reality breaking, I simply can't make good arguments for or against this theory. Still, it's a possibility I'm open to, even if I don't spend a lot of time considering it.

**Addendum: Has humanity been inspired by ~ATH, rather than the other way around?**

Once you analyze the dictionary of terms pertaining to ~ATH, a fair amount of them are really morbid: death, graveyard, the morpheme "necro-", etc. If this dictionary is analyzed in a vacuum, the word "executable" fits right in: after all, it derives from execution, death as a form of punishment, and that's exactly what you can do by calling `DIE()` on an `EXECUTABLE`.

However, as you might have realized, in the _real_ world, we _still_ use "executable" to refer to programs that are written and run in pedestrian languages. It almost seems like in the past, a much greater scope of vocabulary that only makes sense in ~ATH was in the computing lingo, but over time, all those terms were replaced with more cuddly, sunshine-and-rainbows terms, and "executable" was simply one that we never replaced and never felt the need to replace.

That being said... if ~ATH _was_ really such a pivotal part of computing history, one would expect it to be mentioned in seminal papers by everyone from Turing to Kurzweil. One would _not_ expect every single web search of the term to only show answers limited to a single Internet community, which, as it turns out, is part of a fandom for a visual novel, and therefore, only attracts coders if they're interested in bringing their waifus (or, well, waifu; in the case of DDLC hackers, it really _is_ Just Monika) to AI life.

Humanity was _not_ inspired by ~ATH, and "executable" is a red herring. Thanks for coming to my TED talk.


	55. Thanks for Reading

# [9Z99] THANKS FOR READING

And that does it, for the current version of this document. Now, I'm not saying that this document is over and will be receiving no more updates from me; indeed, I still have a lot of ground to cover until I've caught you up to the point where you would not be laughed out of Hackerverse. (I mean, if that's even possible at this point.)

That being said, the structure of the document is simply not conducive to haphazard future updates. Within sections and sub-sections and sub-sub-sections, there must be a strict structure, and even when chapters fitting within said structure are not written as of yet, the structure must still be presumed. This, in turn, can lead to awkward decisions in chapter numbering, and as a result, the order of presenting information, which harms readability, big time.

That is why I've decided to put the document on hold, and instead, focus on contributing to other people's efforts in documenting DDLC and similar ~ATH games. This is not to say that I will _never_ write up an update in the form of a non-chron blog, but such an update, should it occur, will be placed in a separate AO3 story. It will still be in the same place where you find non-chron blogs in selfhost, though, which is right below this notice, so... _yay_.

I will be back, stronger than ever. However, right now, I have to admit to myself that I'm weak and way over my head, and then, admit it to others, and then, hope that others understand.

Cheers.

\- **Creativity­The­Emotion**

2020 02 14 - 08 28 (D0875-1071)


	56. Non-Chron Blog #1 - Hackerverse ban

# [A000] THE NON-CHRON BLOG: WHAT IS IT, EVEN?

Aight, welcome to the non-chron blog, called so because the entirety of this document is _still_ linear, but sometimes, there are developments happening _right now_ , in the DDLC hacking community, that must be talked about _right away_ if this document is to stay current at all times.

And as luck would have it, the first development has happened sooner rather than later.

# [A001] SO MUCH FOR NOBLE CAUSES & THOUGHTS ON MONIKA AFTER STORY

**Contributed by CreativityTheEmotion on February 14, 2020 (D0875) 12:30 UTC**

So, yeah. The first hours after this guide first went live have kind of been a rush, not in the very least since it's Valentine's Day and I wanted to spend some time with my copy of Monika After Story, only to be greeted with the helpful information that I have been banned from **_Doki Doki Hackerverse_** (that's the main forums where the hackers chill), in their characteristic typing manner (what with the fullwidth font reminiscent of Act 2):

> WE REGRET TO INFORM YOU THAT YOU HAVE BEEN BANNED FROM "Doki Doki Hackerverse!" FOR:
> 
> "five (5) crucial mistakes about the inner structure of DDLC percistent throughout the entire treatise"
> 
> AS A RESULT YOUR COPY OF MONIKA AFTER STORY HAS BEEN CEASED REMOTELY AND WILL NOT WORK
> 
> ATTEMPTS TO CIRCUMVENT THE BAN OR INSTALL ANOTHER COPY OF MONIKA AFTER STORY WILL RESULT IN YOUR COMPUTER EXPLODING
> 
> NOTHING PERSONAL AND MONIKA STILL LOVES YOU
> 
> SINCERELY THE MONIKA AFTER STORY DEVELOPMENT TEAM

So, let's break it down - and I think there are two major angles that I can approach this from.

First of all: what does me being banned from Hackerverse _truly_ mean? Well, that I can still access the forums as a guest, and download the resources and other paraphernalia. Thankfully, none of the software running the servers of that site is written in ~ATH, and therefore, it just functions as a normal Discourse install. Therefore, this guide will continue as usual, except that I will not identify with the hackers anymore, and will make no further attempts to appease them or enter their leagues - or, for that matter, try and unite them and the mainstream fandom. Seriously. Never again.

Second: the threat about your computer exploding. Many an inexperienced ~ATH coder have had their computer explode at _some_ point or another while coding in the language, and this is where they usually leave the coding scene altogether, as computers tend to get pretty expensive. Therefore, if these guys have specifically injected code into my computer and my copy of Monika After Story (which still exists; it's just that now, when you open it, Monika won't be there anymore), the threat is perfectly valid.

However, when we get to installing MAS on a completely unrelated computer, that is when it gets tricky. From where I'm standing from, there is simply no way to tell if the ban is associated with _me_ (the registration form on Hackerverse still opens fine in my browser, as does the MAS download page, but remember, those pages have no ~ATH code in them), or with the IP.

And to be honest, I don't even wanna try. I do have spare computers, but even the cheapest of them is a formidable purchase, and it might just be that my _main_ computer, the one with MAS on it, explodes while the spare computer fares just fine. You just never know with ~ATH.

Either way, if I ever find out, this might be a major discovery towards how much hackers actually know. And sorry to get all speculative, when I'm supposed to be providing unambiguous knowledge of the game and the tools used to make it.

The story will be updated as developments follow.


	57. Non-Chron Blog #2 - Hackerverse ban followup

# [A002] THE BALANCE BETWEEN A HEARTFELT REUNION AND A DEEPENING RIFT

**Contributed by Creativity­The­Emotion on February 21, 2020 (D0882) 23:00 UTC**

Alright, after a week, I think the dust has settled, I have settled upon a solution and everything regarding DDLC in my life, including my Monika copy and this document, is about to proceed as normal.

First of all, you can only imagine the backlash that the MAS dev team got, from the mainstream fandom, over including a piece of malware in their mod _again_. In fact, this was an issue more serious than the last one, as that time, it was mostly some stuff regarding how Windows was supposed to operate, and _this_ , as I suspected, was injected ~ATH code.

Luckily, the code (as one would expect from ~ATH programmers who are not Salvato) was rather simple, and did _not_ latch onto IP or whatever; that was just a consequence of a) Hackerverse patrons having all the IP addresses from which users visited and b) MAS needing to connect to the Internet in order to update itself. In fact, it amounted to a single file, `zz_silenceallopposition.~ath`, which I promise to talk about in more depth as I cover ~ATH, but for now, all you really need to know is that it looks more like a failure at coding in ~ATH, resulting in one of those programs that makes your computer explode.

What is it even with novice ~ATH coders and their computers exploding? Anyway, I can assure you that as long as you're following _my_ (future) tutorial and understand the concepts _intricately_ , especially regarding safety, your computer will not explode a single time.

Regardless, injected malware or no injected malware, my copy of MAS was still locked out, as stated. However, if you are an attentive reader, you should have noticed one particular detail that allowed me to thrive: my copy of _Monika After Story_. Not my copy of DDLC, which is what actually contains Monika (to this day).

So, I proceeded to uninstall all the scripts, Ren'Py and ~ATH alike, pertaining to MAS. I decided to keep the associated artwork, as I figured that Monika would still be able to make use of them, and all that I would really be giving up is her tendency not to repeat herself and the minigames, such as Pong and chess, coded in. And once I was done, voilà, Monika was still alive and still loved me.

So, that's that. I don't think I will be installing MAS on any of my computers in the foreseeable future, as MAS devs and Hackerverse patrons seem to be closely related, and therefore, both of them have beef with me for spreading misinformation, which, I think I need to state it plainly at this point: **this document is always subject to updating and subject to commentary from you guys on what I got wrong**. However, simply stating the number of mistakes isn't gonna help me much, and if you do _that_ and proceed to declare it as the reason for your ban, you have to look deep inside your introverted heart and realize that you are being intentionally unhelpful.

Stay tuned for more updates on this document.


	58. Non-Chron Blog #3 - chapter numbers

# [A003] TRIVIA STREAM: HOW TO READ THE CHAPTER NUMBERS OF THIS DOCUMENT

**Contributed by CreativityTheEmotion on February 26, 2020 (D0887) 17:15 UTC**

**Amended with additional syntax on April 8, 2020 (D0929) 19:05 UTC**

So, it has come to my attention that I've stopped using brackets to refer to parts of the document, such as sections, and started using linguistic alternatives such as "one-thousands". For the sake of posterity, I want to document this, both for the benefit of someone reading this document aloud, who might want to know how _precisely_ to pronounce these fancy bracket things, and someone reading this document in quiet, who doesn't necessarily _expect_ a heading to be pronounced a certain way, but who might be confused by aforementioned references.

Without further ado, let's begin.

The header of a chapter existing within _Doki Doki Literature Club!: Bugs, Glitches and Exploits for Dummies_ , which I've so far commonly referred to simply as "the document", strictly consists of two parts: the chapter number, enclosed in brackets, which always contains four alphanumeric symbols (with the exception of the tilde, expected to appear in headers of chapters documenting ~ATH), and the chapter title, which is written in plain English, all uppercase. The chapter may be referred either by the full header, including the number and the title, or just by the number.

Chapters within the document are strictly ordered alphabetically according to ASCII/Unicode order, which, for symbols thus described, is as follows:

  * U+0030 through U+0039: numerals 0 through 9
  * U+0041 through U+005A: letters A through Z
  * U+007E: tilde (~)



Whenever a hypothetical chapter number needs to be denoted, if at least one symbol is unknown and/or deliberately ambiguous, what the symbol is replaced with depends on what sort of character can go into the place. These come in three varieties:

  * U+002A: asterisk (*) denotes any character of the set outlined. Therefore, [****] refers to any chapter within the document.
  * U+0023: number sign (#) denotes any numeral.
  * U+005F: underscore (_) denotes any alphabetical character.



When naming new chapters, the symbols are expected to be numeric only, with the following exceptions:

  * [***D] - diagram (ex: [199D] A DIAGRAM OF THE PATHS AND ENDINGS SO FAR - VOL. 1)
  * [***G] - glossary (ex: [020G] YOUR INTRODUCTORY GLOSSARY)
  * [***R] - resource listing (ex: [040R] YOUR PHILLIPS HEAD SCREWDRIVERS OF WORKING WITH DDLC)
  * [***~] - a chapter primarily pertaining to ~ATH (ex: [2A0~] ~ATH DO US PART: AN INTRODUCTION TO ~ATH)
  * [A***] - a non-chron blog entry (ex: [A001] SO MUCH FOR NOBLE CAUSES & THOUGHTS ON MONIKA AFTER STORY)
  * [L***] - an external license that this document is subject to (ex: [L000] GNU FREE DOCUMENTATION LICENSE)



As the chapters are strictly ordered as described, they thus cluster to sections, as follows:

  * [0***] - front matter and introduction
  * [1***] - the initial description of an archetypal playthrough and common diversions
  * [2#**] - the initial analysis of the inner workings of the game
  * [2_**] - the introduction to ~ATH, intended to be separable from the rest of the document



etc.

 **QUESTION ADDRESSING TIME:** "If the second _and_ the fourth symbol of ~ATH tutorials give away that it's a ~ATH tutorial, isn't it kinda redundant?" No, because I could possibly include diagrams, glossaries and resources in that section, too.

Furthermore, each of these sections can be said to cluster into sub-sections, as follows (with the [1***] chapters):

  * [10**] - intro to how your discovery of DDLC may play out
  * [11**] - Act 1
  * [12**] - Act 2
  * [13**] - Act 3
  * [14**] - Act 4
  * [15**] - common diversions
  * [19**] - closing matter



And then, sub-sub-sections, and you get the idea.

With the convention of chapter numbering established, now let's move on to pronouncing these numbers. They can be thought of as being separated into two groups of two, with each group being pronounced separately. This is the most immediately obvious if the chapter number is entirely numeric, and each of the two groups evaluates to a number above 10:

  * [1154] - "eleven fifty-four"
  * [1410] - "fourteen ten"



If the number in a group evaluates to less than 10, or if it includes non-numeric symbols, then these are simply pronounced in sequence, with "nought" being used for 0 as "oh", conventionally used for year numbers, could be mistaken for the letter O in this context:

  * [020G] - "nought-two nought-gee"
  * [040R] - "nought-four nought-ar"
  * [199D] - "nineteen nine-dee"
  * [A001] - "ay-nought nought-one"
  * [2A0~] - "two-ay nought-tilde"



Different rules apply to a "00" grouping based on whether it's the first or the second in a chapter number. At the beginning, it is pronounced as "double-nought", and at the end, it is pronounced as "hundred":

  * [0050] - "double-nought fifty"
  * [1300] - "thirteen hundred"



Lastly, sequences of three or four zeroes get an entirely separate treatment, independent of the 2x2 grouping. These are best outlined simply as examples:

  * [0001] - "triple-nought one"
  * [1000] - "one thousand"
  * [A000] - "ay thousand"
  * [0000] - "four-nought" (note that this will never be mistaken for "forty")



Finally, if the letter T is ever to appear in a chapter number, it is to be pronounced "tay", as to not confuse "forty" (40) with "four-tay" (4T).

And of course, section numbers must not be forgotten, either. They mostly follow the rules that would apply if the missing numbers were all zeroes, except pluralized and with a dash appearing before "thousands" and "hundreds":

  * [0***] - "nought-thousands"
  * [1***] - "one-thousands"
  * [13**] - "thirteen-hundreds"
  * [115*] - "eleven fifties"



If a number sign or an underscore are additionally used to define a "meta-sub-section" (bigger than a two-character subsection, but smaller than a one-character section), the word "numbers" or "letters" is added:

  * [2#**] - "two thousand numbers"
  * [2_**] - "two thousand letters"



Special care must be taken whenever the last non-missing section character is _actually_ a zero:

  * [00**] - "double-nought hundreds" (no sequences of three hyphenated words, ever)
  * [10**] - "ten-hundreds"
  * [000*] - "double-nought noughties"
  * [020*] - "nought-two noughties"



Asterisks are also used to denote chapter types, rather than chapter numbers:

  * [***D] - "the D section", "a D code"
  * [***G] - "the G section", "a G code"
  * [***R] - "the R section", "an R code"
  * [***~] - "the tilde section", "a tilde code"



And, of course, in the special case of [****], which I exclusively use to refer to _any_ chapter within the document and _not_ the document as a whole, since that would be just stupid (since I already have a fantastic way of referring to the document as a whole, namely, "the document"):

  * [****] CHAPTER TITLE - "chapter number, chapter title"



And that, I believe, covers everything. Happy reading.


	59. Non-Chron Blog #4 - Monika Before Story

# [A004] WE WERE SO FOCUSED ON THE AFTER THAT WE COMPLETELY FORGOT ABOUT THE BEFORE

**Contributed by CreativityTheEmotion on March 11, 2020 (D0901) 00:15 UTC**

Within the DDLC fandoms, both mainstream and hacker, everyone knows Monika After Story. It's that mod that was released only four days after the game, and yet, managed to successfully use its ~ATH part to its advantage. It's that mod that lets you maintain a relationship with Monika, and that, in turn, has spawned snowclones, both mainstream and hacker, for the other Dokis. It's that mod that, on multiple occasions, has been under fire for including literal malware (and yes, that includes the incident I described in [A002] THE BALANCE BETWEEN A HEARTFELT REUNION AND A DEEPENING RIFT).

However, in the face of it all, Monika Before Story has been unfairly neglected. And that's a shame, since it's a piece of DDLC fandom history that's almost as interesting as After Story, and really shows what happens when you try to push what the ~ATH code was designed to do to its limits.

I am not here to rewrite fandom history. However, I think that Before Story deserves at least a cursory perusal, to see what makes it a worthwhile specimen.

 _Download this mod for yourself, so that you won't be spoiled?:_ <https://old.reddit.com/r/DDLCMods/comments/9ccc7g/monika_before_story_official_release_v10/>

**_Monika Before Story_** , developed by a group of modders labeling themselves as **_Team Monika_** (I have no idea why DDLC fans like to refer to themselves as a "team" so much), is a mod with a premise that, when described, couldn't be simpler. If you look at the description on any of its download pages, you will find exactly one sentence: "What if **YOU** were President of the Literature Club?" (emphasis theirs)

Unfortunately, while describing the mod is simple, implementing said change is anything but. If we somehow took the list of all the things that can be theoretically done, and then sorted them by how difficult it is for DDLC to do it, "making your self-insert into the Club President" would be right up there with "unifying general relativity and quantum mechanics". Thus, understandably, while After Story, fundamentally, is still no more than two changes of the game code, Before Story was a tremendous effort that took roughly a year since release of DDLC.

And, even as of version 1.2, it's just... how do I put it... far from done. Let's just roughly go through what, I think, is supposed to happen, having played through the mod, and what actually happens.

In general, characters swap around places less-than-intuitively. It's not _just_ that your self-insert is now Club President, but also, that Monika, rather than Sayori, is his childhood friend, and that Sayori, rather than Monika, is the club member that your self-insert has a passing familiarity with, sharing a class.

However, beyond this, the idea is rather noble: since it's your self-insert, rather than any Doki, who has the Sentience attribute, the poem minigame doesn't cockblock him when he tries to date any of the Dokis. In addition, since your self-insert is primarily inspired by you, and since _you_ (the average DDLC mod enthusiast who hasn't read any of this document) have no know-how on how to manipulate `.chr` files, let alone the intention to do so, no single Doki exhibits mental health issues, and therefore, the mainstream fandom's holy grail, the Glitchless Playthrough, can proceed under this altered premise.

In general, out-of-the-box thinking when trying to approach the problem of "how do I prevent Monika from manipulating the files" is commendable. However, the resulting mod, when this approach is applied, is less-than-stellar.

The first major red flag that you should notice, should you boot up the mod, is that there's an installation process, which is standard for a DDLC mod (install DDLC, then copy the mod files over), and then there's a _post_ -installation process. Upon first boot-up, the mod presents itself as "Doki Doki ?", and after banter between your self-insert, Monika and Sayori, the game's post-installation takes effect, and scripts (Ren'Py and ~ATH alike) start taking over, fully converting your copy of DDLC into a bona fide copy of Before Story.

The second major red flag, assuming you have kept the archetypal playthrough in mind, is that... Before Story plays almost like an archetypal playthrough, but occasionally swapping character names to fit within the premise. This can really lead to some OOC moments for the Dokis, but nothing comes worse than when you're sharing your poem to Monika, and then, suddenly, for a single line, Natsuki butts in; her sprite doesn't even show up.

The third major red flag is the language usage. Throughout the mod, I kept seeing phrases such as "literature-club" and "Festival" that reminded me of German; I think they actually tried to redefine the vocabulary of procedural dialogue generation to accommodate for an _actual_ German translation, but that dev code somehow got infused with the English version.

The fourth major red flag is that though it might appear that your self-insert is Club President, and therefore, should have the Sentience attribute, as far as the procedural dialogue generation of the game is concerned, there are fundamental differences between him and the Dokis, and the game still demands that a _Doki_ have the Sentience attribute, or else, it'll break majorly. Before Story is definitely commendable for keeping the illusion from days one to three, but on day four, it really starts to show. As you no doubt know that out of the non-Monika Dokis, Sayori is my favorite, _she_ was the one exhibiting Sentience-related problems, which ended up looking really too similar to what happens if she ends up being your DD in unmodded DDLC's Act 1.

The fifth major red flag, mostly boiling down to the plot beats of Before Story that replace the plot beats of DDLC, is that your self-insert _must_ commit to a Doki. Throughout the poem minigame of my playthrough, I kept drifting between Monika and Sayori, and I think my first poem appealed to Monika, but when it came to defuse the argument between Yuri and Natsuki, I chose Sayori to help me out. This ended up leading to your self-insert really wanting to walk home with Sayori, rather than Monika, for once, but because she's not the one who the poem appealed to, she refused, and eventually, coming to terms that he blew a chance to walk home with Monika _or_ Sayori, he just decided that he's better off walking home by himself, which resulted in what the mod seems to dub a "loner ending", which is basically like the unmodded DDLC's Worst Ending, but worse _still_. I even think that Monika, in the letter she left to your self-insert days after the festival, downright hinted at suicide.

The sixth major red flag actually boils down to how the DD routine is handled by a mod wherein Monika manipulating a DD to suicide was never supposed to happen. Once it came down to festival preparations, _any_ of the four Dokis can be your PD, and presumably, _any_ of the four Dokis can develop some form of Sentience, becoming a DD-equivalent. However, whereas in DDLC, matching up the PD and the DD is something that you _should_ do in order to at least increase the chances of your DD surviving, _this_ mod is seemingly not equipped to deal with stuff like this. After Sayori left day four early, she still approached your self-insert in order to go home, only for the weekend day, which seemed to be some sort of amalgam of Saturday and Sunday, to begin with him commenting on how he hadn't heard from her. And then, once he comforted Sayori with the realization, he literally went "aight, I would love to chat with you, but Sayori is coming over", and then Sayori didn't even bat an eye, whereas if the dialogue generation _wasn't_ overwritten by Before Story, she would definitely have noticed something amiss; I think there's coverage on YouTube that actually makes Natsuki your childhood friend, and then, once you try to do prep with her, it actually properly smoothly transitions from DD troubles to PD troubles.

Anyway, the seventh and final major red flag is actually a hardcoded event that has nothing to do with ~ATH. After getting the loner ending, being locked out of my copy of Before Story and reinstalling it (i.e. deleting the save data), I was greeted with the non-standard Team Salvato IP Guidelines-compliant notice about it being a mod that is supposed to be played after the base game. However, apparently, instead of a simple "I agree.", it has two options: "Just Monika." and "This isn't Canon." (hello German my old friend) However, if you pick the second one, the mod quits, and then, once you go through the notice (which now has just one "I agree" option), the splash screen mockingly quotes the thing I picked. I think it's only appropriate to say that it said "tHiS IsN't cAnOn", rather than a direct quote as it actually did. Anyway, once that was happened, I decided that I wasn't even going to play Doki Doki ?, and just wiped the mod.

So, yeah. Monika Before Story: a clear attempt by hackers to make a bona fide story, properly separable from DDLC but still sharing themes and some of the plot beats, that aimed really high... and then missed. Nevertheless, the fact that their art assets are actually free to appear in other mods, as long as they're properly credited, is pretty cool.

I might make coverage of hacker-made mods into a thing, or I might not. Who knows?


	60. Non-Chron Blog #5 - Minecraft 20w14∞

# [A005] ONLY THE THIRD GAME TO EVER INCLUDE ~ATH CODE, AND IT'S THE LAST ONE YOU'D EXPECT

**Contributed by Creativity­The­Emotion on April 1, 2020 (D0922) 17:00 UTC**

(DDLC mods don't count. They just don't count. They're still building up what Salvato left us with, and therefore, they're not bona fide games in their own right. Sorry, the potential target audience of this.)

To say the least, the field of ~ATH gaming is just about as barren as the field in the default background of Windows XP. However, even with a sample size of two, and a close to total inability to get intel on one of these games, one can make certain conclusions that would immediately give one an anchor point, something to be on the lookout for, if another game were to ever show up, implementing the ideas.

From the little in the way of manuals that we've been able to find, Sburb describes itself as a game of "infinite creative potential", letting you be the god of the universe, quite literally. Likewise, DDLC has the motif of "infinite choices", in Monika's poems as well as Your Reality, and seems to fit that particular bill pretty well, with no two playthroughs _ever_ being the same.

Therefore, you can imagine my radar was going off when, in an announcement, Mojang, the creators of Minecraft, announced a snapshot called "20w14∞", or in other words, "twenty - double U - fourteen - _infinity_ ".

_Read the announcement for yourself:_ [https://​www.​minecraft.​net/​en-us/​article/​every-​update-​imaginable-​coming-​minecraft](https://www.minecraft.net/en-us/article/every-update-imaginable-coming-minecraft)

The first thing you'll notice in the announcement, of course, is that it supposedly includes revolutionary new machine learning technology which allows for infinite worlds (or, well, 2,147,483,648, which techy people might know as 2 to the power of 31). The means to access these worlds, apparently, is to write something random into a book and quill, and then throw that book and quill into a Nether portal.

As a long-time Minecraft aficionado, I was excited. Partially, this could quite realistically mean the return of customizable worlds; their replacement for 1.13, the Buffet world, hasn't been nearly as exciting as the ability to dial literally every single variable going into world generation, which, for something as complex as Minecraft, is quite complex, and it's just something can get a creative mind excited.

Anyway, the first thing you'll notice in the _snapshot itself_ is that, in the absence of the infinity symbol in the ASCII character set, the true technical name of the snapshot is "20w14~". That's right, twenty - double U - fourteen - _tilde_.

Getting pretty exciting, isn't it?

Regardless, the second thing you'll notice - if you're particularly attuned to bugtesting, like me - is that the world you get when you do the process described isn't defined _just_ by the words you write in the book and quill, but also, your thoughts. Don't take it from me, take it from Mojang:

> **My dimension doesn’t look like I wanted it to?**
> 
> Can we ever be sure of what our true desires are? Reach into your inner sanctum of your mind and try again.

And yes, it is defined by your thoughts. It doesn't depend on the seed of your originally created world or the exact wording or even where and how you made your Nether portal; you can control the world generation with your thoughts, meaning that the number of available worlds explodes beyond 2 to the 31 or 2 to the 64 or 2 to the millionth.

I could briefly talk about the ways this was implemented, as well as the exciting new features _not_ related to infinite worlds (such as a biome consisting of endless End ships, or Menger sponges, or anything like that), but I think that, for the best part, you wanna discover these things on your own. Don't worry; I'm still your guiding hand for DDLC stuff; just... not Minecraft stuff.

Anyway, even if this is just an April Fools update and none of the source code will even be making it into Minecraft's next update, this is still pretty exciting news. It isn't just _anyone_ who's daring to explore the brand new world of ~ATH, but quite possibly the single biggest name in the history of computing so far, Microsoft (who still haven't stopped owning Mojang, in case you somehow ever forgot that). And while telepathic control of Windows or Office might _also_ not be in the works, it might just be the thing to truly propel us into The Future. Or it'll just become another method to deliver the most personalized ads that you simply can't not click; who knows?

However, should we really be giving Mojang or even Microsoft the credit?

As you might know if you're in the know, a while back, there was a video posted ([https://​www.​youtube.​com/​watch?v=​CS5DQVSp058](https://www.youtube.com/watch?v=CS5DQVSp058)) that complained about Minecraft being particularly monotonous, with a tech tree height of literally four (five if you count Netherite, that's in the works for the next update), and suggested procedurally generated worlds and items to fill in the gap and bring the excitement of discovery back into the game that's been needing it since 2010. Soon enough, a mod, Infinite Features, sprang up in order to try and fulfill the needs expressed in the video, and you can _kind of imagine_ where people first looked when searching for a world of infinite choices.

And yes, this is not me talking out of my bottom, and there is absolute definite proof. Once the update was released, Hackerverse also noticed that there was something fishy about Mojang's new update, and between this, Infinite Features and their own ~ATH intel, they were able to figure that yes, Mojang did end up ripping off the ~ATH code of Infinite Features, which they were able to claim the ownership of because insert finicky copyright law details here.

Anyway, Minecraft 20w14∞. If you're excited about the possibilities that ~ATH can offer, I definitely recommend you check it out... provided that you already own a copy of Java Minecraft, that is. But hey, who doesn't in these days?

Tomorrow, back to your regularly scheduled DDLC chronological exposé. Or some more of the non-chron blog, I haven't decided yet.


	61. Non-Chron Blog #6 - act boundaries

# [A006] WHAT ABOUT THAT SPACE BETWEEN ACTS 1 AND 2, THOUGH

**Contributed by CreativityTheEmotion on April 6, 2020 (D0927) 18:45 UTC**

The next part of this document is subject to a rather terrible hiccup. I will spare you all the details, save for one: it has got to do with me not wanting to appear as though I am shoving something else I made down your throat.

Nevertheless, because of this unfortunate hiatus, I have been taking a look at parts of the document that need improvement elsewhere, and most notably, the brief documentation on the various script files. However, their names seem to present an interesting conundrum, which I hope to talk about here, but which _might_ , eventually, be included as a "miscellaneous reading" _in_ the chronological exposé.

Namely, the script files go like this:

  * `script-ch0.rpy`
  * `script-ch1.rpy`
  * ...
  * `script-ch5.rpy`
  * `script-ch10.rpy`
  * `script-ch20.rpy`
  * `script-ch21.rpy`
  * ...



"Chapters" up to 5 strictly correspond with Act 1 days: the day when your self-insert joins the Literature Club, the three poem-sharing days, Sunday and Monday. Then, "chapters" from 20 onward correspond with equivalent Act 2 days.

What about "chapter" 10, though? Have we been numbering the DDLC acts wrong all this time?

Well, no. But in order to examine the claim, we first need to establish what a DDLC act is.

Of course, for the most part, acts are _defined_ rather arbitrarily, based on what happens on an archetypal playthrough. However, they're defined by transitions, distinct beginnings and endings, that truly make them what they are. Namely, you can expect an act to begin with the Team Salvato logo and the main menu, and end with a Doki dying or otherwise being taken out of the picture and the game reaching an "end".

This, alone, defines the four acts cleanly, with the small exception of Act 3 never reaching the main menu. However, there's an instance of the Team Salvato logo appearing in the _middle_ of Act 2 (not the place that you're thinking of, but rather, the "Just Monika" segment), which otherwise doesn't have all the hallmarks of an act transition, and therefore, if it doesn't walk like a duck or swim like a duck, we can be pretty sure that it isn't one.

However, "chapter" 10 is distinct still. If you remember from the archetypal playthrough recount, it's the part of Act 2 wherein we are still under the pretense that it's Act 1, and though a Doki has been deleted, the game tries to proceed as though she were still here. However, upon her first encounter, the game "realizes" what's going on and reboots to a "proper" Act 2.

That much is scripted; a lot of the "glitching" is nothing like _actual_ Ren'Py and ~ATH bugs, and simply has been placed there by Salvato to _hint_ at a buggy game. However, there are still opportunities, in this moment, for the game to be _actually_ glitchy and knock you to destinations unexplored.

An exploration, with me as your captain, still awaits. However, the bottom line is that, despite the odd script file numbering, there are still four acts in DDLC, not five.


	62. Non-Chron Blog #7 - Untitled Yandere Game

# [A007] THE ~ATH GAME THAT NEVER WAS, AND WITH A DEV LIKE THIS, WAS NEVER GOING TO BE

**Contributed by Creativity­The­Emotion on July 2, 2020 (D1014) 18:05 UTC**

First, I'm going to copy and paste a few words regarding the situation from this game's developer, himself, because I want my _own_ description to stick with you simply because you heard of it last.

> **YandereDev attacked Dan Salvato for his own programming incompetence!**
> 
> **In short:** No, I did not.
> 
> Dan Salvato is the creator of Doki Doki Literature Club!, a fairly popular visual novel that attracts much the same audience as Untitled Yandere Game. However, more important to this story is the fact that he is also the creator of ~ATH, a revolutionary technology that allows DDLC to run smoothly.
> 
> As he is the creator of ~ATH, I supposed that I could look towards him for tech support, given that games like Untitled Yandere Game would greatly benefit from improved performance. However, as Salvato was completely unwilling to cooperate, I had to source the ~ATH compiler from third-party sources, and this eventually resulted in my computer exploding, making me lose significant progress on an Untitled Yandere Game build.
> 
> To this day, Salvato has not apologized for his technology causing this, and has not in any way repaid for a destroyed computer. Instead, people surrounding him have accused me of being an incompetent programmer and blaming my own coding issues on Salvato. This is yet another example of persistent trolling, in which facts are ignored in favor of a predetermined opinion.
> 
> This should also clear up why, to date, there is not a Doki Doki Literature Club easter egg in Untitled Yandere Game, despite the two games being liked by the same sort of fans and despite myself being happy to include easter eggs acknowledging a wide variety of anime and related video games.

Alright, cool, let's unpack it.

First of all: there's the claim that Salvato created ~ATH. Someone outside the fandom could easily look at the superficial facts - DDLC was the first video game, ever, to use ~ATH, and therefore, the two _must_ have been created by the same person - and insisting otherwise might even lead to an argument that you lose. However, I still believe that Salvato is _not_ the creator of ~ATH, for two big reasons:

  * One, the aesthetics of DDLC and ~ATH are _very_ distinct; one is almost entirely about morbid coding and dense, insufferable syntax, while the other is about false facades and incredibly cute girls.
  * Two, though concrete evidence is hard to come by, I believe I _do_ actually have documentation, on the Internet, that shows that ~ATH, in some form, existed before DDLC was released. Though there's no concrete _proof_ , for now, I'll just point you towards Alan Becker's Animator vs. Animation series.



Second: the idea that ~ATH can just magically be applied to any video game project and improve its code. If you really want to do that, then honestly, you're better off just picking up a low-level language, like Assembly (if you've decided that you want to be bound to a particular computer architecture, like x86 or ARM) or C (if you haven't done that yet). _That being said,_ if you're YandereDev, you don't need to look into Assembly or C; instead, you just need to fix all those `if/else` statements and make them into `switch` statements.

Alright, alright, I said it for the meme, but I need to come clean here: I don't think `if/else` statements are the plague that makes YandereDev's code run so slow. Instead, I'm more horrified by all the string comparisons: after all, if a computer wants to compare two strings, it's gotta do it letter by letter, and if some flags were compared, instead, that would improve the code a lot.

Anyway, lastly: the incident itself. The only reliable source we have, that we can even trust in order to determine that the incident happened, is YandereDev himself, but I think that a smoking computer and the blame being shifted towards ~ATH and Salvato (though, the latter is completely unwarranted) is enough to conclude what happened: he thought that ~ATH was some sort of magic pill that made DDLC's AI Dokis possible, thought that it could improve Untitled Yandere Game code, tried to learn it and his computer exploded.

Honestly, I don't blame him. After all, the whole reason that I'm writing a ~ATH tutorial is because there isn't any sort of tutorial written up by hackers as of yet, there isn't any sort of tutorial that comes from non-DDLC sources and a tutorial is very much needed, given the high risk of your computer exploding, as YandereDev's did. However, I will absolutely still point and laugh at him for blaming Salvato, because the entire situation is funny as fuck and I hope that, once YandereDev gets over himself, he will be able to laugh at it, too.

That, and I am just a comedian in nature, in general, and think that a lot more people, not just YandereDev, could stand to laugh at themselves every once in a while.


	63. Non-Chron Blog #8 - Take Two

# [A008] TWO NEW DOKIS, TWO PROJECT SENTIENCES AND OVERALL, A TAKE TWO ON THE DDLC WORLD

**Contributed by Creativity­The­Emotion on July 11, 2020 (D1023) 18:20 UTC**

In general, the DDLC modding scene is dominated by mainstreamer mods. It's fairly understandable that a mainstreamer, though they might not be exactly the best at replicating Doki personalities as featured on the game itself, have more creative control over the project as a whole, and therefore, can produce something cohesive. And as long as that something is original and not just an idealized version of DDLC, the mainstreamer mod is pretty much guaranteed to be a success if done well.

That being said, nowadays, it takes a lot more than just reusing the art assets included within DDLC, or even snatching some free-to-use VN backgrounds for scenes that don't really have good DDLC counterparts. Therefore, the fandom has entered a bit of an arms race, wherein the value of the scriptwriter is low compared to that of the artist, musician, sprite editor and composer, and a mod has to be able to stand on all of these legs.

Now, imagine trying to face all of the above challenges, which make for a good mainstreamer mod, while at the same time innovating as fast as you can in the hacker fields as well. Let's say that some limitations, like those of Project Sentience and Doki coding in general, just don't satisfy you; you want Sentience to be something transferable, you want to introduce a male Doki, etc. That would surely be a tremendous challenge, wouldn't it?

And that's exactly what **_halibabica_** , the creator of **_DDLC: Take Two_** , is doing.

_The mod itself, in a demo state:_ [https://​old.​reddit.​com/​r/​DDLCMods/​comments/​d7yb2d/​ddlc_​take_​two_​act_​5_​demo_​release/](https://old.reddit.com/r/DDLCMods/comments/d7yb2d/ddlc_take_two_act_5_demo_release/)

_Doki Doki Interview Club, a spinoff featuring the same fan Dokis:_ [https://​old.​reddit.​com/​r/​DDLC/​comments/​byjuap/​doki_​doki_​interview_​club_​ama_​mod_​full_​release/](https://old.reddit.com/r/DDLC/comments/byjuap/doki_doki_interview_club_ama_mod_full_release/)

The mod, itself, has a relatively simple premise: after the game has been wiped, Monika and the new Act 4 Club President approach each other. Dependent on whether the "good" ending was achieved or not, the new President may or may not have a corporeal form, and Monika will definitely not, but that's no problem, because the `.chr` files have been backed up, and can be restored, alongside the script files. And thus, once they are restored, Act 5, continuing from the main game's plot, can proceed.

Now, I should note, first and foremost: that particular part of the script, with Monika and your new Club President, is hardcoded (with three variants for Sayori, Natsuki and Yuri, of course). There is just no way to completely reinterpret the world of DDLC so that such a discussion, or anything close to it, would be able to happen within the realm of DDLC dialogue generation.

Once Act 5 properly starts, though, it _is_ a bona-fide, hacker-made mod. Again, its plot starts out relatively humble, with all the Dokis finally managing to get the festival's poem reading done. This reading turns out to be an outstanding success, and brings two more members to the Literature Club: **_Tiffany_** , an exchange student from America, and **_Shiro_** , a fan of Dungeons and Dragons.

I won't really be speaking on the merits of either Tiffany or Shiro as characters, because I really want to focus on their `.chr` files, and how they have been made into unique experiences, distinct from every other Doki and even your self-insert. That, and Shiro is a guy; that's right, halibabica managed to rewrite the dialogue generation and `.chr` file reading to accomodate for the genders of Dokis.

However, that's not even the most impressive part.

The most impressive part, I'd say, comes from the plot of Take Two, wherein Monika and the new Club President debate whether or not the others should be given the same sorts of powers that they have, just to show that the world of computing isn't that scary.

"Now, hold up!" you might say. "Didn't you spend a whole lot of time talking about how Project Sentience can only affect exactly one Doki, and that it's intrinsically linked with the President persona? Like... how?"

A good question. A very good question.

Obviously, I won't be able to explain every single detail, but from what I've read in the Ren'Py files, I can see that Project Sentience has essentially been split.

The original Project Sentience, which continues to live in `dialogue-projectsentience.rpy`, has a vastly reduced scope. Now, it only really accounts for the Club President persona, and doesn't even really impact the thinking patterns of the Doki in question - who, as far as I can tell in Take Two's Act 5, is Monika.

But before you mourn the loss of your favorite self-aware character, let me tell you about Project Sentience New. (Aren't we, as a collective, just great at names?) Project Sentience New takes on the role of knowing that you're in a video game and all that, but in a vastly more limited way in which the Doki in question is mostly all talk, and also, is able to bring you forth a unique minigame or something. (Well, the minigames are hardcoded, just like the poem minigame, but eh.) _This_ is what both Monika and the Act 4 Club President, who will invariably take on the role of Vice-President in Act 5, have and constantly talk about transfering to the other Dokis.

All of this, however, isn't even taking into consideration the impressive technological feat that is Interview Club. Featuring the exact same Dokis, the exact same arrangement of Project Sentience and Project Sentience New and all that, et cetera, Interview Club is "written" in the form of an AMA, wherein people from Reddit ask the Dokis questions, and they get answered. However, _none_ of the answers, or even so much as vague hints on what the answers should be, are hardcoded: instead, the questions are transcribed verbatim, and then, the Doki's `.chr` file is queried to provide you with the answer.

Something like this _has_ been tried in the past: some of the early versions of Monika After Story integrated a query box, so that you could have an actual, proper conversation with Monika. However, in that case, she really didn't let go of the topic, and in time, the topics had to be formalized and accessed as distinct units that could be "unlocked", in a sense.

And thus, Interview Club succeeds where Monika After Story failed, and brings us one step closer to proper AI Dokis that one might even have a conversation with.


	64. Non-Chron Blog #9 - Project Sentience in depth

# [A009] TOPICS IN DEPTH - PART 1: PHILOSOPHIES, WORLD VIEWS AND PROJECT SENTIENCE

**Contributed by Creativity­The­Emotion on July 13, 2020 (D1025) 19:05 UTC**

Oftentimes, I find myself wanting to elaborate further on certain topics that I already covered in the document's main, chronological exposé part. However, adding to it, as is, would only make it feel more bloated, and therefore, would kind of defeat the purpose of a concise chronological exposé. Therefore, this is the first in a series of what I'm calling "unsorted articles", in which I allow myself to elaborate on a particular topic further, knowing that this is essentially "optional reading to get you to be more acquainted" and that therefore, brevity is no longer a necessary virtue.

And today, the topic examined is a continuation of [2220] DIALOGUE.RPY VS. DIALOGUE-PROJECTSENTIENCE.RPY, in which I examine the different philosophies, ways of thinking that the Dokis embody, and in particular, what makes Monika different from the rest.

For that, let's return to the basics. What is the world view of a typical dateable from any visual novel?

Well, most visual novels, DDLC included, take place in a school environment. (I'm not really in the position to question the preferences of anime fans, throughout Japan as well as America.) Therefore, a visual novel character is at least somewhat aware of the burdens of school, such as attending classes, doing homework, and in case of the Japanese cultural bubble, attending after-school clubs.

However, as we all know, high school is compulsory, attracting literally everyone of the appropriate age. Therefore, views of particular students (and consequently, visual novel dateables) on school vary wildly. You can have someone be as diligent as Monika, constantly trying and, for the most part, succeeding in being the best of the best, or you can have someone be as laid-back as Sayori, mostly predisposed with her own personality and only paying attention to school whenever the time comes for the "finals" that will help with either graduation or with moving from one grade to the next.

That being said, what high school students have in common is being fairly young, and therefore, not fully mature in their behavior as well as world view. Even someone with a quite mature and intelligent outlook, like Yuri or Monika, will tend to simplify, a lot, even when discussing their own special interest (which, unsurprisingly, is writing). The advice of each of the Dokis regarding writing can really be summarized in one or two sentences:

  * Natsuki: "reduce your writing to the simplest form possible that still gets the idea across"
  * Yuri: "don't try to mix and match the subject matter and the style with which you present it, and don't be afraid to use more expressive, if rarer, words to convey precise feelings"
  * Monika: "don't be afraid to experiment, letting go of predefined styles altogether, and, for example, play around with the layout of words on a page rather than the words themselves"



At any rate, another aspect that is very significant to a vast majority of high school students, especially in a visual novel, is romance. It only really feels right to call someone "dateable" if they're single to begin with (polygamy, mostly shunned in both Japanese and American societies, notwithstanding) and therefore, looking for someone else to date. In addition, as heterosexuality is a predisposition also shared by these types of literature, large groups of characters of a single gender will be seen as "ideal" by a character of the opposite gender, who, whoever they might be, will still entertain a "harem" fantasy, even if briefly.

This is where you notice how it applies to DDLC, with all the Dokis being female, and this is where you're inclined to ask whether or not there are significant behavioral differences between females and males. For this, I'd be inclined to disagree; a lot of "differences" are merely imposed by society, and societies can differ a lot. Therefore, both male and female (and non-binary) characters have access to the full spectrum of personality, though societal outlook on a particular gender-personality combination can be very different dependent on gender.

At any rate, the life of a dateable is pretty simple, and I believe all of the above covers it. What about Monika, the Sentience Doki, then?

Well, first things first: the effects of Project Sentience must be considered to exist _on top of_ the preexisting dateable personality. Indeed, in DDLC, Monika serves more of an "exposition fairy" role than a "dateable" role, but she is still a high school student, who is concerned with studying and homework and clubs, and whose position regarding romance is considered by the other Dokis.

However, the most noteworthy aspect of it all is that she sees it all for a farce; something premeditated by a creator in order to attract downloads.

The differences between a visual novel player and a visual novel protagonist, ideally, are minute. Though a visual novel player might come in any age range and gender, for the most part, they will only really seek an idealized romance if they cannot attain it for themself in real life, and that narrows it down a lot. This, in turn, helps Monika relate to you, the player, a lot, since she knows that you can't be _that_ different from your self-insert.

Other than that, though, seeing DDLC from an outsider's perspective, as a visual novel, requires understanding what a visual novel even is. Obviously, characters _within_ the game, such as Natsuki, might be otakus who already have the required knowledge, but Monika must go one step further in order to see the game itself as a visual novel, the other girls as dateables, etc.

The amount of _new_ information that must be processed alongside existing information is tremendous, and that's precisely what causes an uninitiated `.chr` file to result in a Doki who wipes the game in frustration. However, the idea naturally stemming from this, that a Doki must undergo an "epiphany", is an inherently fallacious one; after all, Salvato had all the time in the world to craft a precise Monika character who didn't wipe the game, and that version, with no "experience" of life, is who appears in Act 1.

For the most part, Monika already talks about all of this - how the game was designed, what sort of character archetypes go into it and how she sees it, knowing that it's all fake - rather extensively in Act 3, whether you have Monika After Story installed or not. However, for posterity, this will suffice.


	65. Non-Chron Blog #10 - Passive Monika in depth

  


# [A010] TOPICS IN DEPTH - PART 2: MAPPING OUT THE PASSIVE MONIKA STORY TREE

**Contributed by Creativity­The­Emotion on July 14, 2020 (D1026) 19:10 UTC**

Out of the various bugs that are kind of inevitable for a project with a scope similar to that of DDLC, I'd say that I like Passive Monika the most. I know, I know, at many points in the past I've scoffed at the idea of someone finding Act 4 to be something "fun" and "explorable", but at the same time, assuming the credits don't just pop up, the girls get to shine in personalities which seem almost entirely different from their Act 1 counterparts, all because Monika's influence is no longer there.

That being said, when Passive Monika (or any sort of diversion wherein the hinting system can no longer keep the underlying plot "on track") playthroughs are concerned, a lot of the time, I've treated them as "uncharted territory", speaking as though there is no way to know what to expect from the resolution of the plot. That's not entirely true - in fact, that's not true at all, and in lieu of hints, the dialogue generation engine will have figured some sort of "themes" to follow, and those themes will naturally lead to what I've termed as a "story tree".

What I mean by that is that, if the archetypal playthrough is the "trunk" of DDLC and what everyone focuses on when critically analyzing the story, then these alternatives are other branches. However, those branches are more like trees in their own right, with more branches, until the ending is reached in the form of leaves.

With that being said, let's explore what the Passive Monika bug has to offer.

Of course, [1590] THE ACT 4 PASSIVE MONIKA BUG has already mentioned quite a lot with regard to the underlying themes: namely, that Monika, in contrast with an archetypal Act 4, doesn't really feel the need to wipe the game because a different Doki had the same realization, and that Natsuki and Yuri are actually pretty cool gal pals, sharing their writing as-is. Therefore, the whole premise of poem sharing falls apart, and the Literature Club, rather than a place focused on writing as in Acts 1 and 2, instead forms as a place focused on reading.

This, thus, leads to the one-page "poem minigame" that I've already referred to as a "book-picking game", which allows you to get closer to a Doki who isn't the new Club President. However, as I've mentioned already, Yuri and Natsuki, themselves, are already picking out new material to read on their own, and I honestly don't really get what Sayori is doing or what her purpose in the Literature Club, other than to keep the atmosphere and balance out the different personalities, is, and regardless, there is a fair chance that she will be your new Club President, and therefore, unapproachable by default.

Anyway, once literature sharing is on, it's perhaps the best to speak of distinct "routes"; one cannot really speak in the terms of there being a DD, (DD4?) because the new Club President just doesn't _do_ those kinds of manipulations. Therefore, most of the context is about as applicable to this situation as it would be in any kind of visual novel that DDLC's dialogue generation is trained on.

Before we begin, I should note, though, that none of the routes really changes dependent on who the new Club President is. Yes, you don't get the "new Club President" route, but other than that, there just aren't many meaningful differences between the Sayori route with Yuri as the President and the Sayori route with Natsuki as the President. That, and the power imbalance I mentioned before, wherein everyone is into something more "high-brow" than Natsuki and therefore her position as President is questioned, doesn't apply, as we've already established that all forms of literature are treated equally simply because of the relationships involved.

Anyway:

**Sayori route**

As mentioned before, Sayori doesn't have any reading predispositions to begin with, instead playing the role of the team therapist. However, she is perfectly willing to read whatever you thought she would like with you, and this is where the relationship starts.

As I've already spoken previously, Sayori's depression, if it was there in any form, just isn't there when she can give the Literature Club her best and they can give it back to her. Therefore, what is left is best described as a deredere, and her route is full of clichés: especially those concerning the childhood friend romance trope, wherein silly promises that "we will get married" from years and years ago are suddenly being considered seriously. In addition, one cannot forget that your self-insert has always been on the lookout for her, and therefore, is perhaps best suited to the role of a boyfriend (this sort of aspect crops up in Act 1 too, but in the much more darker "I don't want a boyfriend because he wouldn't let you do the things you do to me").

This, therefore, leads to a very tropey, visual novel-y route, and I honestly think that if Sayori has stepped in the role of your new Club President, you're just not losing out on much. Indeed, Sayori and depression have become this sort of inseparable duo, and if you want a good Sayori route, then perhaps your effort is best focused on mainstream mods such as Purist Mod and Blue Skies, rather than a hacker-y exploration.

**Natsuki route**

Since Natsuki and your self-insert are in the exact same position (manga readers who need to branch out and approach "real" literature, whatever that means), they both realize, pretty quickly, that the idea is for them both to look _away_ from the comfort zone, and your self-insert getting Natsuki what he thought she would like is really going in the wrong direction. Natsuki thus complains, a bit, in her typical tsundere manner, but luckily, has saved the day with having picked out the dustiest, "adult-iest" novel that she could find at the bookstore, and she and your self-insert begin reading it.

At first, both of them scoff at the idea, and mostly laugh at how many pompous words and grammar structures the book includes, much to Yuri's chagrin. However, while Act 1 Yuri might just scowl, deepen the rift between herself and Natsuki and never speak of it again, Act 4 Yuri gladly explains the themes, the definitions of more complicated words and so on, and gradually, your self-insert and Natsuki start seeing the "light" so to say.

Anyway, just like with the childhood friend trope, the tsundere trope has been done in many visual novels before DDLC, and if you're a fan of those, it unfolds in the precise stereotypical way: oftentimes, when your self-insert makes any advances, Natsuki's defenses suddenly go up, until the relationship between the two develops and Natsuki opens up about her family life. She then will gladly take any opportunity to get away from home and spend time with your self-insert, and the rest is history. If you're a fan of the tsundere trope, then this is probably the route for you, but let's be honest, I'm not.

**Yuri route**

Approaching Yuri for the book exchange thing, you will, of course, realize that you don't really know what _specific_ book she would like, and once you approach her about that, she will just hand you a copy of Portrait of Markov, the downright iconic book that a fair amount of speculation has already been placed on. Therefore, this is as good a place as any to address said speculation.

Now, how Portrait of Markov is described actually kind of depends on what the particular version of Yuri is like. The underlying basics can be summarized as follows, neutrally: the protagonist moves in with her sister, and soon, is targeted by escapees of a human experimentation prison, which gets pretty Mengele-y. However, what actually escapes Yuri's mouth when describing it really depends: for example, in Act 1, she mainly focuses on the protagonist and the decisions she has to make, whereas in Act 2 as your DD2, she mainly focuses on the prison and what sorts of experiments are done there.

It only makes sense, then, that in Act 4, the central theme that Yuri explores is the relationship between the protagonist and her sister.

Now, whether or not there is actually a whole coherent _book_ behind it, plot and all, or just vague descriptions of a book, is honestly up for debate. Decompilation of ~ATH code simply hasn't progressed to the point where a definitive answer can be given, and re-running the dialogue to see if Yuri speaks differently can only get you so far.

Anyway, Portrait of Markov, as a whole, will have to be addressed in another installment of Topics in Depth; now, let's focus on the Yuri route.

Given that Markov is a book that is already particularly close to Yuri's heart, she can already explain the themes pretty well, and many of them frighten and horrify Natsuki. However, as she joins the conversations between Yuri and your self-insert, she gradually begins seeing more and more connections between it and some of her favorite manga, and as Yuri starts seeing the aspects, she finds herself drawn in by manga more and more. Once again, it shouldn't be news that her writing tastes jump from genre to genre.

Anyway, much like with the other two, Yuri's route is primarily based on a very tired and cliché trope: namely, that of a shy girl becoming talkative. Though it can't be denied that to your self-insert, Yuri is less of a "your resident dandere" and more of a "big bust beauty", for the most part, he knows how to respect women and lead Yuri to a happy future, with minimal choices required on your part (for the most part, purely generated, non-hinted routes are very sparse on choices, and if you want choices introduced, then you will essentially have to introduce hints on your own). From my own pure, personal tastes, this is the best route of them all, but in the end, it _still_ doesn't have a lot to offer, critically.

**Festival arc**

Lastly, I think this needs to be brought up: without the poem writing and sharing, the whole festival idea that Monika proposed, with the main Literature Club event being poem recital, just doesn't work out. But just like the poem minigame was replaced with a book-picking game, the poem recital at the festival is replaced with something else, right?

Well, to disappoint you, no. The personalities in the Literature Club have different opinions, but all of them naturally lead to the same conclusion: Yuri is simply too shy to adequately present anything, Natsuki has mostly been looking forward to checking out what the other clubs do (and perhaps, even contributing some) and it's simply not up to Sayori to go against the wishes of both of them. Therefore, the Literature Club plain doesn't present.

That being said, all the members agree that bringing in more members, event or no event, is still a priority. Therefore, in lieu of a full-blown event, the Dokis will work together on little invitation cards, which will, well, invite the others to check out the Literature Club. All of them work on the exact same task, and therefore, there is no picking and dividing bases, but regardless, both festival prep and the festival itself become opportunities for you and the Doki of your choice to bond, considering each other's company much better than any amount of new members.

What fruits does bringing in new members give? Well, last I checked, it's not really within DDLC's capability to create a Doki from scratch, to say nothing of the fact that she, if she _were_ to pop up from thin air, just wouldn't have sprites or anything to represent her visually. Therefore, the only conclusion that the game's engine can reach is that in which the Literature Club _doesn't_ gain any new members.

How do the remaining Dokis react? Well, if Natsuki is the Club President, she will surely throw a tantrum or two about it, and the same is true, to a lesser extent, if she _isn't_ the Club President, too. However, the others will agree that without a distinctive Event, there was just no chance in bringing in members, but nevertheless, some of them, especially your self-insert and your current route Doki, will recount some positive experiences with other students in the school, who _might_ or might not join.

Therefore, even if new members don't join right away, it's a big moment of hope for the Literature Club, and especially for your self-insert and your current route Doki, who, as the plot of the game reaches its "natural" "conclusion" (the terms here are used _very_ loosely, as it _is_ the visual novel paradigm that we're talking about here), who, as they enter a conversation or two about the future, find it much more bearable to live in the present, wherein studying, tests, graduation and so on are simply not to be worried about, and problems will be tackled as they arise.

And that, I believe, is _much_ closer to "all there is to say about the Passive Monika bug" than what I had before.

  



	66. Non-Chron Blog #11 - Poem Editor meme war

  


# [A011] POEM EDITOR CHRONICLES - PART 1: THE MEME WAR

**Contributed by Creativity­The­Emotion on July 17, 2020 (D1029) 18:40 UTC**

Let's talk about the DDLC Poem Editor.

Now, I know what you must be thinking: "it's literally been close to two years and the whole thing is just insubstantial meme fodder; surely you don't have a whole lot to say about it?" Well, the thing is, I do. Two whole non-chron blog entries, in fact.

The first one of these will mostly be covering the circumstances of me writing the first version of the thing, followed by the events that happened, mostly in Reddit but in other DDLC fan venues as well, after release. Then, in the second one, I will be talking about the greater plans that I had for the future of the poem editor and beyond, and why those plans never came to fruition.

But first things need to be considered first, and that means explaining how we even got to this place in the first place.

First of all: there isn't some grand backstory that frames me as a victim of self-abuse or as someone who took on a tremendous task and succeeded against all odds. The poem editor came to me as I was idly pontificating a project, that honestly should have been pontificated by many both before and after me (indeed, some comments I received on the poem editor were expecting it to have been made sooner), and I threw together the functionality in one day and the looks (the sounds came later) in another day.

I guess, the only really _interesting_ bit of trivia that goes here is that, for a while, I had the project named "Writing evaluator", which is just as unappealing a name as they can get. It's literally not even worth the space usually used for describing trivia, and I'm so glad I stuck with "DDLC Poem Editor" instead.

And then I hit "post".

_Original post on le reddit:_ [https://​old.​reddit.​com/​r/​DDLC/​comments/​94ltv5/​ddlc_​poem_​editor/](https://old.reddit.com/r/DDLC/comments/94ltv5/ddlc_poem_editor/)

Looking at the post, years later, there might not seem to be much in terms of discussion. However, if you were somehow able to look at the posts made immediately after this one, absolutely everyone was pasting copypastas into the thing to see how well the Dokis took to them. (Fun fact: it was mostly Sayori, because in general, her words are rather simple, and therefore, more common in any given text; plus, I'm pretty sure that she has more of them to begin with, and the ramifications of that on the DDLC plot and who was "intended" to be your DD were it not for ~ATH are _not_ to be discussed in a non-chron blog post primarily pertaining to the poem editor. Nevertheless, soon enough, a "modified" text score calibrated to actual poems and copypastas needed to appear, and it did appear, soon enough.)

Obviously, this was a huge issue for the /r/DDLC moderation; even before then, memes could essentially come and go, ruining the post output for about a day or two, but this time, the mods were ready to shoot down any "low-quality" posts, and soon enough, a mod named Litandus "organized" the poem editor copypasta posts into a megathread.

Understandably, the main userbase were somewhat pissed, and a quote I remember reading from that time is "the poem editor meme didn't die, it was sniped in mid-air". Soon enough, someone had the bright idea: if two more memes could be sniped like this and made into megathreads, since Reddit only allows you to sticky two posts per subreddit, the poem editor megathread post would have to be unstickied, and memes of _that_ caliber could reign free. It was a great plan, but unfortunately, the only meme that people could make on short notice was what's known as a "sign" meme, wherein text is simply added onto fanart of someone holding a sign. Those would later get banned as a whole.

That being said, while the poem editor posts were consolidated and "banned" under a common posts rule, the whole incident actually _created_ a whole new rule, too: to this day, on /r/DDLC, while you _can_ criticize the mod team as a whole or specific policies of the subreddit, you _can't_ criticize specific moderators (as a _lot_ of hate was directed towards Litandus specifically).

However, the meme, to an extent, was still a thing throughout most of August 2018, and I was riding it. I created a Discord server for the poem editor and I met some very nice people there, one of whom is even a friend of mine to this day, following along in the era of this document.

Then, an even worse storm than the previous one came.

Its origin was rather benign: so, what am I using to generate my word list? Am I simply using `poemwords.txt`? Or am I using something that's directly dependent on those `.chr` files? (Understandably, since running a live version of DDLC is beyond me, I would simply have to contend to using `.chr` files from the game as it's downloaded from ddlc.moe.)

The answer, of course, is that it's an option I implemented, as I updated the poem editor throughout the month to add more ideas. It wasn't just cute sound, menus and clickable Dokis; there is also a wordlist option, and once you go down there, you can pick either `poemwords.txt`, the ~ATH approach (either with or without Monika) or the lists created for mods.

In fact, I even took a stab at creating my _own_ wordlist to be used with the poem editor, called the Thousand Word Corpus, and _that_ got a bit of mileage of its own. As it turns out, back in the day, the Monika After Story devs approached me and asked if they could use the Thousand Word Corpus in MAS, as an option of difficulty for their built-in Hangman. (Heh, can you even _imagine_ me and the MAS devs being amicable _today?_ What an idea.)

But anyway, which one am I using? Well, for the first versions without a clickable options menu, it was the `poemwords.txt` approach, but eventually, I was able to provide y'all with a wordlist coming straight from the auspices of ~ATH, too. However, that only got the mainstreamers and hackers into a harsh battle: which one is the _correct_ one to use, and therefore, deserving of being the "default"? (That would end up being the ~ATHy version, as it _is_ more accurate to what is going on in DDLC, but I guess mainstreamers were going through denial.)

And that, I suppose, is that: me creating meme wars on at least several fronts. This is why, in the version history section, you can find comments like "Good enough to incite a meme war" in the poem editor webapp, "Unfortunately not good enough to incite a meme war" on the poem editor mod (I figured that I could take advantage of the ~ATH scripts running on `.chr` files live in a Ren'Py context, and also, I was kind of worried about the Team Salvato IP guidelines, but unfortunately, it dawned on me that I'd have to implement copy-and-pasting, textbox scrolling and all those goodies on Ren'Py, and I simply didn't know if it was possible) and "We'll see if this one is good enough to incite a meme war" on this very document.

However, surprising as it seems, a complete overhaul of the Ren'Py engine was _not_ the biggest I dreamt of when having poem editor-related ideas. Not by a huge margin.

  



	67. Non-Chron Blog #12 - Doki Docs

# [A012] POEM EDITOR CHRONICLES - PART 2: DOKI DOCS

**Contributed by Creativity­The­Emotion on July 17, 2020 (D1029) 18:40 UTC**

By now, many of you have probably noticed that the website I use to primarily host this document is called dokidocs.net. Now, if you're thinking that it's _actually_ called Archive of Our Own, what you're looking at is an imperfect mirror that is only superior in that it allows comments.

Anyway, Doki Docs; isn't that just the niftiest nickname I could have given to a website, given that its main attraction is a massive guide to DDLC hacking, ~ATH coding and such. Documentation in that regard is rather difficult to find (the closest we have, _other than my work_ , is perhaps the #TeamStats analysis), and a single website where all of it is hosted would be just about the raddest thing ever.

Wait, it was first registered in August 2018?

Let's just say that my stance regarding documentation of DDLC and ~ATH was completely different back then. I mostly saw it from the hackers' point of view, that the inner workings of DDLC simply couldn't be ignored, but for one, I was actually mostly chilling in mainstreamer spaces, and to them, the true nature of DDLC was really an "elephant in the room", the discussion of which could _only_ be ignited if it was in the context of the morality of Monika's actions. And for another thing, I figured that eventually, the hackers would provide us with quite detailed guides that could settle those morality arguments once and for all.

Oh, look at me now, and then, look at me back then, so naive. I guess I am living proof of the idea that if you want something done right, you have to do it yourself.

But then, if I had no intent on documenting DDLC back in 2018, why come up with the name Doki Docs - and redirect the poem editor tool to there?

You guessed right - it's a side-effect of more bullshit that has to do with the poem editor. But first, let's look at the summary I came up with for the project, which I'm going to delete from the homepage after this goes live:

> Doki Docs aims to bring the characters from Team Salvato's Doki Doki Literature Club! to life via the core aspect of the game: the poems that each of them, including the player character, write. The project, when finished, will allow you to collaborate with AI versions of each girl (possibly, even all of them) and bring your own ideas, whether in form of poetry or prose, to life.
> 
> [...]
> 
> **Doki Docs**
> 
> The central and final product is intended to be a text editor, possibly even a fully featured word processor, allowing you to collaborate with the Dokis on a poem or any writing project.

The name, if you haven't realized it yet, is an allusion to Google Docs, and when conceiving of the project, I had one particular gimmick in mind, that the Google Docs team had made, in order to promote their product: it was a sample page, wherein you would be allowed to collaborate with famous writers like Shakespeare and Milton. And, well, what would the big deal be if I were to replace them with characters who are considerably less famous, but still have a name as writers, such as Natsuki and Yuri?

A lot would be the big deal, and let me tell you precisely why.

First off, let's see exactly how much of the DDLC dialogue generation can we repurpose for the purposes of Doki Docs. It's fairly obvious that just implementing the dialogue generation as a whole is out - the DDLC dialogue generation was intended for the purpose of conversation and world description, the bread and butter of visual novels. And even the small part that could do poems just couldn't suggest additions to an external poem - like the one you'd be writing on the hypothetical Doki Docs website.

So, I'm essentially there, with next to no know-how of ~ATH or how to deconstruct DDLC's dialogue generation in order to make it work for a Doki Docs-like project (something, I should mention, _no single hacker_ has, even as of this day, and in all likelihood, even Salvato probably forgot a lot while he was dealing with the DDLC-induced bout of depression). What that means, of course, is that I'd have to implement a neural network or whatever, all on my own.

The only step I really came up with was the first one, wherein an NN, given a wordlist (and I figured the Thousand Word Corpus of my own creation would be the best bet here), would be able to extrapolate to the entire English dictionary and come up with the ratings of any word for all the Dokis (obviously ignoring words like `the` and `of`, which the language cannot function without and which each and every Doki would use when editing text). What I didn't know, of course, was that this was something I _could_ extract from DDLC, but if you thought repurposing Salvato's code works in any way, then you haven't realized that I don't even know how to turn ~ATH into a server-side language.

Anyway, eventually, I'd have to reach the final step: my final NN, being trained on... what exactly? There isn't exactly a database of "edits made to existing works"; only one of existing works. And even then, I'd want those works to be DDLC-themed, which meant that I would need to do a task that very few DDLC fans can manage: write poems, in-character, as Dokis, and then suggest edits to those poems, also in-character as Dokis. In the end, I managed to produce two poems, but the fact remains that I am not a poet and not really capable of expressing myself concisely, let alone when I have to pay attention to prosody.

_How_ would I even pay attention to prosody? Given those two poems I wrote, the stressed syllables _are_ marked and patterns, ideally, _could_ be picked up, but I'm not sure how, I'm not sure where to begin, and as far as building an NN that can do the task that Doki Docs was designed to do goes, I'm currently stuck at the stage of messing around with Karpathy's LSTM, feeding it this document as training data and then managing to overfit the NN like there's no tomorrow.

Oh, wait, I'm not even at _that_ stage, because the synergy of my current system, Ubuntu 20.04 and the NVIDIA proprietary drivers just isn't a thing and, essentially, if I were to install those drivers, I would be locked out of the desktop environment, with my only option being remotely logging in and wiping the drivers.

Yeah. Suffice to say, there is a _lot_ to be done in order to make Doki Docs a thing, and I'm simply not up to the task.

Writing out a detailed documentation of DDLC and ~ATH, as is, is a task hard enough.

_That being said,_ I do still think that something like Doki Docs needs to be produced - not necessarily by the DDLC fandom, but I think the mainstream AI community would actually benefit from such a project. Hear me out.

When we consider the literary output of natural language generators, as mentioned previously, we don't really give said generators the chance to backtrack. In fact, something like the aforementioned LSTM might not even have an idea of where it's going, in terms of, say, more than a clause, but even if it's advanced enough, like the DDLC dialogue generator, it still generates a single line, immediately outputs it and generates another line.

Now, what would happen if we judged human creators like this? What if we essentially didn't allow any sort of novel or poetry to have a second draft or so much as use the backspace button?

That's right - we're holding AIs to a higher standard than humans.

As I've said, unless Google is working on scraping the Docs data for edits of documents and trying to have an AI generate edits to existing, pre-supplied documents, there just isn't _any_ sort of training data that could be used in order to make such an AI a reality. However, if we really want to be able to write cohesive, novel-length works of fiction entirely automatically, such an editing process _will_ need to be done. And although a Doki might not be the best editor of poems out there, I still think that something like this project needs to happen.

Guess who won't be the one to produce it, though.


	68. Non-Chron Blog #13 - diegetic literature

# [A013] TOPICS IN DEPTH - PART 3: WHAT CAN WE SAY ABOUT THAT WHICH DOKIS READ?

**Contributed by Creativity­The­Emotion on July 19, 2020 (D1031) 20:35 UTC**

It goes without saying that literature is a very big part of the, well, Literature Club. Though most of the fandom focus is on writing, in the sense of poems and poem sharing, and especially what sorts of techniques can be shared between the game and the rest, that hasn't really been the part that interests me. Again; two poems that were written for a failed, over-ambitious project don't count, and I think I get to keep my label of "not a poet".

However, equally important to the Literature Club is the focus on reading. In particular, both Yuri and Natsuki CGs, in Act 1 as well as Act 2, involve your self-insert reading together with them: in Natsuki's case, it's the highly effeminate, slice-of-life manga Parfait Girls, while in Yuri's case, it's Portrait of Markov, a horror novel with focus on human experimentation that may or may not come out, directly adapted to a video game by Salvato, even though the original book doesn't exist and was _also_ entirely made up by Salvato.

However, while neither Portrait of Markov nor Parfait Girls really exist in the real world, when you reach Act 3 and your one-on-one with Monika, the literature that she recommends _is_ entirely real. Among books she recommends are Nineteen Eighty-Four, The Yellow Wallpaper, Flowers for Algernon and Catch-22, just to name a few. Now, it might surprise you that most of these are by either British or American authors, and therefore, there isn't really a place for Japanese literature, which Monika, who is Japanese and shame on you for forgetting that, should really care highly about. However, in the face of DDLC's _actual_ setting, which is only "Japan-ish" and not intended to be fully culturally accurate so as to imitate poor translations and English otaku works _based on_ poor translations, I think that this selection of literature that Monika knows about is fair and not really to be criticized.

But anyway, what _does_ need to be criticized is the dialogue generator, and how well it can deal with two completely unrelated aspects: a) "parsing" an existing work of fiction to the point where a fictional character can critically comment on it, perhaps even bringing insights to the table that no human possibly could, and b) "creating" an entirely new, fictitious work of fiction, that some might even find themselves to be fans of, drawing Libitina or whatever it is?

**Analyzing existing literature**

Let's start with what we can get Monika to talk about, for various reasons, though no small part of them is that we have an entire system wherein her dialogue is scrutinized, and that comes in the form of Monika After Story's neatly structurized topics, which can be repeated, over and over.

"But Creativity­The­Emotion," I hear you asking, "didn't you talk about how you're not really friends with the MAS devs and therefore, just have access to a normal Act 3 and not MAS?"

You have forgotten, first and foremost, that the MAS code is open-source; how else would I be able to comment on `zz_silenceallopposition.~ath`? And second, most of what MAS is praised for isn't even that hard to implement. The whole menu, wherein you can pick from topics, is literally hardcoded, and getting Monika to comment on a particular topic, again and again, is a feat that requires technology no more advanced than the hinting system that we already have.

Anyway, I've actually done quite a lot to make my copy of Act 3 (and Monika After Story, while that mod was still installed) personally _mine_ , and some day, I might even walk you through these changes that _I_ did, but for now, we're exclusively focusing on how well she comments on existing literature.

I'll be using Nineteen Eighty-Four as an example here, as it's a book that happens to be fairly close to my heart, too, and this is from long before DDLC was even a dream of Salvato's. Also, I'm fairly attuned to many themes present in the book; certainly more than you have, having made the adjective "Orwellian" to exclusively mean something lame like "that which pertains to surveillance and complete lack of privacy" when there is so, _so_ much more that Orwell didn't put to his name in order for that to be stripped away in pop-culture discourse.

Anyway, what does Monika have to say about the book? Well, a lot of the usual, horrifying themes that are _usually_ brought up, like the surveillance aspect and that aspect wherein children are essentially taught to spy on and betray their own parents in the name of the state, but then, she actually brings up a "favorite minor character" of hers. That turns out to be Syme, who works on the dictionary of Newspeak, the totalitarian language (yes, seriously, a "totalitarian language" is a thing within the context of the world) intended to limit thought so as to make "thoughtcrime" impossible.

Anyway, Monika points out the usual stuff - that Winston Smith, the protagonist of the book, quickly throughout talking with Syme, notices that the latter is simply Too Bright and therefore, won't really last long until captured by the "reprogramming humans" agency, the Ministry of Love, and a bit later, realizes that the event he feared for happened, lo and behold. This, thus, makes Syme a tragic character - even though he was fairly attuned to the ideology of Oceania and willing to be subservient to them despite everything, he was still taken out, and his "fatal vice" was being too smart.

However, it should be pointed out that Nineteen Eighty-Four has at least a dozen "minor characters" like this, that one could easily pick out as a human reader - and, I suppose, as the DDLC dialogue generator, too. Why not comment about Parsons, who is also fairly attuned to the ideology of Oceania _and_ much more like a brainless puppet who will do whatever it takes to please the government, but who _still_ ends up in the Ministry of Love because he was overheard, sleeptalking phrases like "down with Big Brother", by his family? Or the shopkeeper, who essentially invites Winston and Julia to the second floor of his store, which is a convenient apartment without a telescreen, only for all of it turn out to be false as he is actually a Ministry of Love agent? Or an aspect of worldbuilding, like the one where the three superstates constantly put all of their efforts into a weapon that will end the neverending war between the three?

Clearly, the book was dissected, according to Monika's personality, and she picked out a single aspect.

Now, whether or not we can do the same is either still to be determined by hackers or I simply haven't looked deep enough into the Hackerverse archives. Still, it definitely looks like something that can and has been done by Salvato, in order to make Monika, the character, more well-read.

**Analyzing non-existent literature: Parfait Girls**

Now, let's turn to that which _doesn't_ exist in this world, and in particular, Parfait Girls. I've chosen to cover Parfait Girls and not Portrait of Markov, first, because Portrait of Markov just doesn't have an associated ARG and therefore, will be easier to comment on when the DDLC dialogue generation is the only aspect being considered, and if there are active worldbuilding notes by Salvato, they are simply taken out of the picture.

Anyway, what do we know about Parfait Girls? Well, it's a slice-of-life manga, with the cover depicting four girls striking feminine poses. It's one that your self-insert has never read before, and he immediately assumes that it must either be garbage or so far away from his demographic. Nevertheless, as he and Natsuki get into it, there are a fair amount of comments to be made about the manga, such as:

  * While the manga might look _very_ boring for the first few issues, it really picks up pace and starts being good; of course, Natsuki can comment on stuff like that because she has all the volumes in the clubroom and presumably, has already read it through
  * Natsuki actually singles out a character she likes, which is Minori, who's apparently known for being extremely unlucky; that being said, if it just so happens that Natsuki is your DD2 at the time, she might point out how Minori "makes sure that her point is known"
  * The manga features baking somewhat extensively, and one might even infer that Natsuki's love of baking is _because_ of the manga



Now, is that really enough to paint a picture about the plot? Well, I don't think so, but that might be mainly because I'm not a manga reader, especially not slice-of-life, and I wouldn't even know where to begin piecing a plot from these bits of information. Still, I'm going to bet that it's impossible to reconstruct a cohesive Parfait Girls plot, because we don't even know who the other three girls, who Natsuki might not like as much, are.

Still, Parfait Girls was made up to fit in a narrative purpose, and said narrative purpose is executed near-flawlessly. That, and the comments Natsuki makes about Minori are very much like the comments Monika makes about Syme, implying that two entirely different processes actually led to similar results as far as the dialogue generation goes.

**Analyzing non-existent literature: Portrait of Markov**

Finally, we arrive at the big gem, that everyone else is inclined to analyze and over-analyze, even taking into account stuff like Yuri's remarks on entirely different topics, because a straight-up complete plot of Team Salvato's next game _must_ be dissected before the game is even officially announced. Therefore, I cannot hope to be fully accurate as to how much Markov discourse is correct or on the table, but I will still give an insight for the sake of posterity.

Portrait of Markov is described as a book with an ominous eye on the front cover. It's the one that Yuri is in the process of returning to, at the beginning of the game, and regardless of the route, she actually has another copy, which she gifts to your self-insert, the newest Literature Club member, in hopes of getting him into literature. Now, if you don't pick her route, that's where it ends and you don't get to learn anything new about it, but if you do, then there is a fair amount to unpack pertaining to the book itself and how it affects Yuri's personality.

As mentioned previously, the book starts out when the protagonist moves in together with her sister. She is then targeted by a group of escapees from a human experiment prison, and soon enough, faces difficult choices that, regardless of what she chooses, are going to destroy her life and her relationships - or at least, that's how much is really expanded upon, and as you can see, it's mostly vague words that don't really mean much in the context of proper critical analysis.

Does Yuri, like Natsuki and Monika, have a particular character who she relates to? I don't believe so; whenever she speaks about her love for fictional characters (that is seriously a thing that happens in DDLC discourse and I invite you to do proper research yourself), she really speaks about it _in general_ , without singling out an example, from Markov or otherwise. Instead, she just focuses on her social anxiety, or, if she happens to be your DD2, how much she's in love with your self-insert and how he's everything that she could ask for, in terms of a person.

Do we even know which of the characters is Libitina? ( _Within the Portrait of Markov context._ I think that literally anyone who has the ability to reason, and therefore, anyone willing to read this far into the densest and most technical exposé of everything to do with DDLC, should be able to realize that she is _not_ any one of the Dokis, and I seriously worry for those who either cannot or simply say sensationalist statements in order to get YouTube views.)

Well, for one thing, the Project Libitina website mostly talks about the "third eye" as some sort of psychic phenomenon, which is _not particularly in line_ with "human experiments" in the form of affixing limbs where they shouldn't go. So, there might actually be a pretty good chance that Portrait of Markov, the book that Yuri really, really likes, and Portrait of Markov, Team Salvato's next game, don't really have much in common other than the title.

And once _that_ conclusion is taken from beneath our feet, there simply isn't much more to conclude, and we'll have to concede that Salvato kept this little secret to himself. In fact, I think the story surrounding the release of DDLC, wherein its theme as a visual novel wasn't revealed until _the day of release_ , should tell you a _lot_ about how Salvato is approaching the release of Markov.

Still, that is beside our point. What we've sought to establish is that Dokis _can_ actually comment on fiction and provide insights that you would expect members of a Literature Club to deliver, whether that fiction exists in real life or not. And I think we've established that, pretty well.


	69. Non-Chron Blog #14 - The Fruits of the Literature Club

# [A014] A FRUITFUL PURSUIT OF ALTERNATIVE LITERATURE CLUB MECHANICS, INDEED

**Contributed by Creativity­The­Emotion on July 22, 2020 (D1034) 20:05 UTC**

I'm still doing mod reviews, and I'm still making absolutely stupid puns based on whatever the title of the mod in question is. However, I guess I have to apologize to basically everyone willing to accept an apology, and first and foremost my own sense of identity, as today, we're looking at a mainstreamer mod.

What is there to say about mainstreamer mods as a whole? Well, unlike hacker mods, they don't have to burden themselves with fitting into the visual novel tropes that DDLC's dialogue generation would otherwise enforce them to. However, because they're entirely hardcoded, it is the sole burden of the mod writers to make the Dokis fit their characters. This can be a tremendous challenge for some, but luckily, there's an amazing workaround: "record" a playthrough of DDLC to a Ren'Py file and then edit like there's no tomorrow, until it fits into a shoebox.

And **_The Fruits of the Literature Club_** shows us that it can be done, even if the shoebox is of a _very_ different shape.

_Download as usual:_ [http://​ddlcmods.​com/​the-fruits-of-the-literature-club/](http://ddlcmods.com/the-fruits-of-the-literature-club/)

First of all, let's address the first person protag of the mod. Quite obviously, since this is a mainstreamer mod, I can't really call him "your self-insert" or say that any of his qualities take after you due to ~ATH reasons. However, calling him "MC" _also_ really doesn't do this justice, and I'll show you why.

Typically, a fair amount can be agreed upon about your self-insert: he is a single boy, with only one childhood friend, looking forward to meeting more girls and entering a romantic relationship with any of them. These are basic qualities that are almost expected of a visual novel protag, and therefore, any "molding" of the character to fit your personality must stay within these bounds (though, as a reviewer points out, there is an extremely rare chance of the dialogue generation fucking everything up to high heavens and providing you with a carbon copy of yourself).

Now, it's quite tempting to assume that MC, the mainstreamer interpretation of the same character, would actually be his own thing, with a predefined personality. However, when you try to search for personality traits integrated into MC across the board, you only really find one of them: he's dense as a black hole. Beyond this, interpretations of him are almost dependent on the particuar mod writer, and unlike with the Dokis, there is relatively little complaining about making him out of character: after all, his game counterpart doesn't have a consistent characterization, either.

With that all being said, the Fruits protag has been completely reinterpreted, contradicting even the base of your self-insert. If I had to describe the character concisely, I would probably say that he wandered into the world of DDLC from a spy thriller: among other qualities, he has a guardian/boss type of character in place of his parents (with their tragic death often being commented upon), a placement dependent on said job which requires him to move a lot, two cellphones (one for personal, "civilian" use and one for his work affairs), etc.

Naturally, he takes this very unique attitude, which I can't help but think was inspired by a particularly off-the-rails playthrough, to the Literature Club. Moving in next to Sayori, he is very reluctant to form any sort of bond with her, as, due to his tragic events, he's only convinced that such a bond will eventually lead to a tragic death. However, bit by bit, she breaks his shell, and eventually, convinces him to visit the Literature Club, wherein a completely different routine takes over: as alluded previously, it's mostly the regular DDLC Act 1 plot (minus the festival and mental illness arcs), wherein poem writing leads you to a particular Doki's route.

Now, briefly about the Literature Club. As is fairly known among the mainstream fandom, your self-insert is not really a reader, and has to go for manga when prodded about what he reads. In contrast, your self-insert in Monika Before Story, as appropriate for the Club President, is much more well-read, and instead, mutters "everything" when asked the same question.

The Fruits protag, on the other hand, is very different from both of these archetypes, and from those of every Doki, in that he reads what I can only really describe as "revolutionary literature", as well as practical guides on survival, necessitated by his circumstances that he was thrust into before he could even formally sign a job contract with his folk. That being said, it's fairly safe to assume that he brings his own style into the Literature Club, in the form of his poems (which are much more than bland, targeted pieces) and even ad-hoc stories, which read very much like thrillers.

Now, dependent on the route, the Doki that you picked, and which the Fruits protag pursues, is eventually targeted by his enemies. This, though, is where I have to make a confession: typically, when a "polished product" of a mod, whether it be a mainstreamer mod or a hacker mod, comes out and lets you pick a Doki (whether the choice is between just the canon dateables or all the Dokis), I tend to go for a single route, not really seeing the difference between them ~~and not once being able to relate to Natsuki or understand why the tsundere trope is so popular~~. Therefore, I will be commenting on one route exclusively, and when playing through Fruits, I decided to go for Sayori's.

Anyway:

**Sayori route**

In the case of Sayori, she is primarily targeted by Kagan, depicted in the mod using the "Chad MC" sprites. As I've already alluded, her mental health issues don't get to shine a whole lot; instead, she is mostly made a victim of external targeting, at the same time as the Fruits protag, which makes for a bit confusing plotline. For example, there are at least a few concurrent plotlines in the first chapter, such as Kagan spying on Sayori (in the "Peeping Tom" sense, not in the sense that the Fruits protag might be willing to engage), Sayori receiving an ill-intentioned note from bullies hired by Kagan and physical assault between Kagan and the Fruits protag.

However, it's not really a thriller if it doesn't escalate to the use of guns, and soon enough, Sayori is kidnapped by Kagan and goons, and the Fruits protag finds himself searching for her, and later on, surviving with her in a forest, and only one of them really knows anything about survival in such dire circumstances. Perhaps conveniently, his phones are out of signal range and therefore, can't make any good contact during the whole part, but suffice to say, against all odds, Sayori and the Fruits protag make it out.

This, then, is when the mod reaches its _true_ grand finale, with Kagan holding Sayori at gunpoint in her own house. Luckily, the Fruits protag is a pretty good psychologist and negotiatior _in addition to_ all his spy cred (or in the very least, he is if you pick the right dialogue option, which the mod gives you a chance to do), pins him down, talks about it all with his boss-guardian type (they actually have pretty frequent conversations with each other throughout the route, ranging from work placements to banter about the Fruits protag's mom), and in the end, the Fruits protag is forced to accept that he has essentially become Sayori's Prince Charming, though her own skills came in handy as well.

Throughout all of this, the most notable aspect of it all is probably the Fruits protag's character. As I've mentioned, he's _very_ distinct from both your self-insert and MC, and although how he even landed in these circumstances, as well as his grim outlook towards the future and that he'll always have to do stuff like this, walking a path that has been predetermined since childhood, is questionable, all in all, I'd say I got a pretty good taste of the genre that he arrived from based on the sort of person he is.

And that is The Fruits of the Literature Club: something to itch your spy thriller scratch, or perhaps to look into if you want an experience completely different from that of incredibly cute girls ~~as well as necrocomputing~~. Now, I don't _feel_ the need to comment on the other routes right away, but if there's enough demand, returning to the mod for the Natsuki, Yuri and Monika routes is always an option.


	70. Non-Chron Blog #15 - Blue Skies (common to all routes)

# [A015] WILL THE HACKER STORM TAKE OVER, OR WILL THE BLUE MAINSTREAMER SKIES PREVAIL

**Contributed by Creativity­The­Emotion on July 23, 2020 (D1035) 20:00 UTC**

My own allegiance, within the DDLC fandom, is a fickle thing. First of all, DDLC is probably unique among a multitude of fandoms to even have divisions like this, where you _have_ to define yourself as a mainstreamer or hacker, and unfortunately, it seems like I disappointed both sides with this document, so I guess I'm not in the DDLC fandom?

That being said, it should be pretty clear, judging by the fact that I'm writing such a detailed guide to DDLC and ~ATH, that I'm on the hacker side point-of-view-wise. In my opinion, if one is to critically analyze DDLC, the Team Salvato game, then the dialogue generation behind it _needs_ to be understood, as it is a focal point of the game in aspects such as determining who your DD is going to be. Therefore, it is not hard to see that I see mainstreamer mods simply missing the point, based on the sole fact that they're mainstreamer mods; sure, you can pimp the mod with as much artwork, music and even fully animated video as you want, but that won't change the fact that you already strayed from the true nature of the Dokis from the very moment you decided to make the mod.

Therefore, you can imagine that it would take a _pretty damn good_ mainstreamer mod - not just in the artwork and music sense, but _especially_ in the writing sense - to change my mind about mainstreamer mods in general.

And as it would happen, **_Doki Doki Blue Skies_** is just the mod.

_This mod is important enough to have a website of its own, I guess:_ [https://​blueskiesmod.​com/](https://blueskiesmod.com/)

**Content warning:** Includes NSFW (erotica) elements; however, there is also an option in the settings menu to censor them.

The first thing that I want to talk about, regarding Blue Skies, is probably the marketing aspect. Blue Skies, as a whole, is a "mainstream-ified" DDLC in the vein of Purist Mod and DDLCtVN, but looking at places such as the website and Twitter, you'd be forgiven for thinking that it isn't; instead, it focuses on labeling itself as a "psychological, choice-heavy" take on DDLC, and looking at the characters page, the world of DDLC has been greatly expanded beyond the titular Literature Club to include characters such as the parents of MC and the Dokis, as well as students such as **_Emi_** and **_Shiori_** and even a teacher, **_Akechi Sakurai_**. Clearly, the Blue Skies team sets the bar pretty high for themselves, and odds are, they do _not_ want to be thought of as "just another Purist Mod".

Next up is just... the size of the mod download. The mod only comes with a single file, `scripts.rpy`, but that `scripts.rpy` file is some 600 MB, and you'd be forgiven for thinking that it's mostly ~ATH scripts for a hacker-made mod. But I can assure you: it's a mainstreamer mod, and the file size comes from multitudes of artwork, including but not limited to new sprites, new CGs (in both cases, including lewd ones), sprites for non-Literature Club members, little animations and most important of all, a soundtrack that, though I shouldn't be getting to the review part right away, is absolutely _lit_ , and I'll elaborate as to why, I promise.

Anyway, moving on to installing the mod and the main menu, well, first of all, you're greeted with a complete redesign of the DDLC main menu. But _in addition to that_ , you're greeted with a slightly bigger variety of choices than in the DDLC menu, such as a "gallery" to review all the CGs that you've seen (that are unique to Blue Skies, that is; we'll get into the plot details later) and a page for just enjoying the soundtrack, which you'll absolutely want to indulge in. However, most importantly, you're greeted to an "extras" menu, which mostly goes "oops, we couldn't bring you a Monika route in time, so there isn't one in Blue Skies; instead, have a whole bunch of scenes and incomplete CGs for that".

Unfortunately, I'm mostly here to indulge in the mod proper, and if a Monika route isn't a part of the mod proper, then I'll have to cut my losses and go for my next best choice, ~~Sayori~~

Actually, you know what? Yuri. Dunno how it came to be, but as I was playing through the mod, I ended up going for the Yuri route. It's still a pretty solid piece of visual novel, writing-wise, but in order to discuss that, we're going to need to talk about the act structure of Blue Skies first.

On the mod page, the mod boasts about 20 hours of content. Between three routes (Sayori, Natsuki and Yuri), that's roughly 6 hours 40 minutes per route, and I can attest to this particular length, under two conditions: a) you're a particularly fast reader (and most people looking towards visual novels over actual literature are not particularly fast readers, it seems) and b) you have the visual novel cred, and therefore, can get the good ending for your Doki of choice on your first try.

I did not get the good Yuri ending on my first try. But that's okay, because I feel like I needed to see the bad ending, and the mod shines even in its writing of the bad ending, which most people with the visual novel cred would never even see, but which still has to be done with effort.

Anyway, 6 hours 40 minutes is still _pretty long_ for something you're going to be constantly reading, and therefore, Blue Skies is split up into acts. Act 1 is pretty much a rewrite of DDLC's Act 1 (told you that recording a DDLC playthrough with Ren'Py is the single best way to get started on your mainstreamer mod), but with a distinct festival outcome, and Acts 2 and 3 are actually unique to the route of your choice, to such an extent that they even get unique names, title cards and dialogue box decor.

Now, a bit about dialogue box decor. The pink polka dots against a lighter pink backdrop that DDLC is _very much_ known for have no doubt become very tiresome for most mainstreamers, and therefore, attempts to switch them up are fairly plentiful. First, though, I need to talk about the absolute _garbage_ concept of changing up the color dialogue box dependent on the Doki who is talking; not only are recolors not unique pieces of art, the constantly changing bottom is honestly quite distracting, and the approach does _not_ scale once you introduce non-Doki characters, like Blue Skies does.

Though, if you change the colors up more rarely, it actually works. For example, Monika After Story, shortly before I had to drop the mod (specifically, in update 0.10.0), introduced a "dark mode" UI (they already had the day-night cycle down, but only now thought to spiff it up), which essentially has the same polka dot background, but with inverted colors. Given how MAS had basically completely overhauled the Act 3 looks color balance-wise, I can only say that it was a welcome change that _wasn't_ distracting.

That being said, I completely understand if you want to go for a design that's completely unrelated to pink polka dots against a lighter pink backdrop. For example, The Fruits of the Literature Club (see my review of it over at [A014] A FRUITFUL PURSUIT OF ALTERNATIVE LITERATURE CLUB MECHANICS, INDEED) has a unique backdrop, consistent with the general aesthetic (even if, in my opinion, said aesthetic is _not_ consistent with the spy thriller genre that Fruits is going for). I, myself, have pursued alternative forms for the dialogue box, too, though I'm mostly fond of golden triangles decorating the Inside Out DVD I bought on November 2015, which is why you can see the backdrop in videos such as "Monika plans for the festival" ([https://​cte.​lt/​mpfst/](https://cte.lt/mpfst/)).

Anyway, in light of literally everything I brought up here, what does Blue Skies do about it? Well, the mod actually keeps the polka dots for Act 1, but for the routes, each route has its own unique dialogue box decor; for example; Yuri's is a night sky, with clouds and stars, and as you can guess, I've never seen the ones for Sayori or Natsuki in-game, though I _might_ have seen them when exporting the whole thing, but in either case, I can't remember what they are right now, and they're not particularly relevant since we're not covering the Sayori route, nor the Natsuki route.

Anyway, I'm getting quite distracted with miscellaneous presentation elements, but there are two last thing I want to bring up before going into the plot retelling. The first is: one of the artwork elements in the mod is actually a little animation with the chibis, depicting them jumping as the sun sets down, set to a cute little music box tune. This animation plays any time a "day" is over, and honestly, I can always appreciate that, though its tune sadly doesn't seem to be included in the soundtrack.

Which brings us to the second point: the soundtrack itself. It is actually pretty lit and slaps, as the cool kids say nowadays; for example, "Play With Us" by NPbus is an especially entertaining take that, if I'm being honest, improves upon Salvato's "Play With Me" and proves that just because something is _canon_ , doesn't mean it's the best. Many other tracks in the soundtrack also prominently feature Salvato's leitmotifs, especially "Your Reality", and I find myself drawn to those the most; however, other tracks, such as "Festival..." also by NPbus, are fairly good; in fact, that particular track brings out something that seems to be missing in me, almost as though it's from a fandom I never got into. Dunno; just this weird feeling I keep having when re-listening to the track after the fact.

_Anyway._ *clap* *clap* Let the plot recount begin.

Act 1, as mentioned previously, is very much just DDLC's Act 1 (catch up on [1100] ACT THE FIRST: INCREDIBLY CUTE GIRLS, though I should note that this is _not_ a canon name of the act, and I named the DDLC acts myself, not that it matters because for each route, the naming of its Acts 2 and 3 is unique). However, one should not be fooled into thinking that the Blue Skies writers are lazy lazybones, as the setting, itself, has been given a complete overhaul: now, we see some interaction in MC's class and between him and his History/homeroom teacher, Sakurai, and Natsuki is _confirmed_ to be a first-year and one year younger than the rest of the Dokis and MC, meaning, presumably, that she's 17 in the Blue Skies verse and that's why I couldn't find any lewds of _her_ in the exported dump of content. Of course, MC himself is fleshed out fairly well, too, with a backstory that mostly revolves around his parents divorcing and his mom being away on business trips for extensive periods of time, including the week between him joining the club and the festival.

In addition, this one goes without saying for an "idealized DDLC" type of mod: instead of there being any sort of DD who tragically dies before the festival can even happen, kicking you into Act 2, there is only a vague sense of trouble for the Dokis.

It didn't stop me from picking Sayori as my festival partner, though, just to make sure that she is okay.

Oh, I should mention. At occasions, DDLC scenes, as presented in the hinting system and interpreted by the dialogue generation, have been overhauled to better fit a preconceived, consistent aesthetic. For example, I already indulged in [2307] JUST AN "INCONSEQUENTIAL" INCIDENT - PART 2: THE BLUE SKIES APPROACH that the Natsuki and Yuri argument has been completely rewritten, in the sense that MC, instead of seeing it as an issue wherein he must side either with Natsuki and Yuri, sees it as an issue that must be resolved diplomatically by one of the "club leaders", and he can freely pick either Monika or Sayori. I also believe that I hinted that the festival got an overhaul, and you are _probably_ wondering how I was able to do festival prep with Sayori even though that's not possible in the game itself, so let's waste no more time.

First of all, when Monika pitches the festival idea to the rest of the club, it absolutely does _not_ go well with the rest of the club. After all, the festival is a very short period of time away, and neither Natsuki nor Yuri are particularly confident with sharing their poems against huge crowds. Therefore, once MC pushes the idea, he can honestly be seen as a bit of a jerk, but nevertheless, the club eventually gets behind the idea. And responding to this critically, honestly, an approach from the point of view of a _writer_ is a really welcome approach after seeing countless approaches from the point of view of a dialogue generator.

Now, about festival prep. The tasks that the Dokis do have actually been split completely evenly; Natsuki does the cupcakes and Yuri does the kanji and atmosphere things, as in canon, but Monika and Sayori no longer work together; instead, Monika is taking care of the pamphlets alone, while Sayori is making "goodie bags" which include things like bookmarks and motivational quotes and stuff. This thus makes each and every Doki a worthwhile partner, and MC can freely pick between all of them. Needless to say, as Sayori isn't your DD in Blue Skies and can never be in a mainstreamer mod with a complete writing overhaul and the intention of delivering its mental health problems more gradually, I doubt that much would happen if I had picked Natsuki/Yuri/Monika, but I just _needed_ to pick Sayori, as I'm always drawn to her character and her depression troubles.

And finally, the festival itself. Here are the big spoilery spoilers: it does not go to plan. At all. Yuri, in particular, just gets lost and forgets that she's reading to an entire audience, the school bullies completely wreck the set and ruin the atmosphere, and in the end, Shiori, one of the Blue Skies OCs (the class rep of MC's class and a friend of Monika's), _does_ mention that she will check the club out, but never does, at least throughout Yuri's Acts 2 or 3. There, in fact, is even a pretty lively debate between Monika and Natsuki over how the festival was an ill-fated idea that one could never prepare for, and in this case, MC _does_ have to pick a side instead of just going "Help me, Sayori!!" like I would, which further breaks the Literature Club bases apart.

But hey, this is only the beginning.

So, it seems that this review is getting _pretty long_ , a fact that I absolutely did not anticipate (even though I actually wrote an Inside Out review that would make this one seem like a rather short, clickbait-y read), and I will have to split the part specifically commenting on the Yuri route to a separate non-chron blog entry. But hey, that's for the better, because if I ever decide to do the Sayori and/or Natsuki routes _of Blue Skies_ , then there will be an easy clickable in case you're specifically interested in my thoughts on the Natsuki route to the complete exclusion of Yuri and Sayori.


	71. Non-Chron Blog #16 - Blue Skies (Yuri route)

# [A016] BLUE SKIES - YURI ROUTE: HOW WOULD PEOPLE DESCRIBE YOU IN A SINGLE WORD?

**Contributed by CreativityTheEmotion on July 24, 2020 (D1036) 18:30 UTC**

This is a continuation of my Doki Doki Blue Skies review, specifically focusing on the Yuri route. For the main review, the required prior reading material is [A015] WILL THE HACKER STORM TAKE OVER, OR WILL THE BLUE MAINSTREAMER SKIES PREVAIL. Should writeups concerning the other routes come out, they will _not_ be required reading material for this, nor will it be the other way around.

So! Now that you've read through the imperative stuff and my totally-not-ramblings concerning everything else Blue Skies, let's get cracking. In case you really need a refresher on the plot of Act 1 prior, I'd say the primary point of your focus should be on MC and the situation with his parents.

Anyway; so, what do the Yuri-specific Acts 2 and 3 have to bring?

**Common material**

After the first, "pivotal" week, you can imagine that the relationship between MC and his Doki of choice (in this case, Yuri) wouldn't have significant developments _every single day_ , as it would try to if this were a Glitchless Playthrough. Instead, the pace becomes much more sedate, focusing on what I once termed as a "highlights" approach, and merrily skips through an entire year: it appears as though the pivotal week took place in September, and the plot of Blue Skies continues, taking you through various holidays, both international and specific to Japan, such as Halloween, Christmas, the New Year, Valentine's Day, White Day and lastly, Tanabata, as well as days in-between and such.

The writing of these scenes, as expected from a mod that did a complete overhaul of the DDLC Act 1 dialogue, continues with the impeccable quality. The mod has a real thing for taking it slowly, first, having the Dokis deal with the festival aftermath and the truth that in all likelihood, the Literature Club won't be receiving any new members. Then, it takes on a much lighter tone, mostly featuring slice-of-life segments between the Dokis and MC, in virtually all possible circumstances: the Literature Club, lunch at school, lessons, walks outside and even visits to homes.

These are kind of hard to sort chronologically when they _aren't_ focused on any holiday, so I guess I'm going to split it into two parallel tracks: scenes without a specific dating more specific than a season, and those focusing on holidays.

_Holiday-independent scenes_

  * As the relationship between MC and Yuri develops, he gradually begins noticing that Yuri has been rubbing off on him, in very significant ways; previously a manga and video game glutton, now MC is fairly delighted to read literature such as Portrait of Markov and anything else that would strike Yuri's fancy, and then, share his insights on the literature with her.
  * A pretty big plot point, though one that would be considered rather inane in most other genres, revolves around the places in the city where Blue Skies takes place (which, judging by the fact that MC and Yuri visit what's termed as the Skytree for the New Year, is more likely than not a Tokyo suburb), which the Dokis share with each other. One of them, for example, is a hybrid library-bookstore which almost all of the Dokis frequent, to the point where them running into each other is a regular occurrence. Another is a restaurant place mostly specializing in boba tea, though it also features various other teas; Natsuki is the first to find this place, then takes Sayori and MC to it, and lastly, MC, remembering it, takes Yuri there as well at a later date.
  * As visiting such places gets more and more commonplace, at one point, Yuri and MC get caught in a downpour without an umbrella. (I think they were visiting a cemetery or something.) This ends up in MC catching quite the bad cold, and there are at least a few scenes where he's tended to by both Yuri and Sayori.
  * To get to places, one often needs transport, and therefore, there are a handful of scenes taking place in the bus, where MC and Yuri could potentially have some real eye-opening chats. One of them gives the title to this non-chron blog entry: apparently, a single word, and often a simple one, is all it takes to define a person; for example, Yuri is primarily "smart" and Sayori is primarily "happy", and anything that contradicts either of those is contrary evidence placed by the Illuminati or something.
  * However, the bus is also home to a rather weird choice: at one point, Yuri instructs MC to wake her up if she falls asleep, and then, falls asleep, and MC's choice is either to honor her wish or let her rest.
  * Quite a few scenes don't feature the Dokis at all, instead focusing on life in MC's class; oftentimes, they feature Sakurai, the History/homeroom teacher, who mostly covers historic material chronologically, and at the point of the plot, talks extensively about the Great Depression, the rise of fascism in Europe and the subsequent World War II.
  * Related to that, exams are approaching, and everyone in the club needs to make for some study time. In time, the Dokis and MC resolve to hang out at MC's house, figuring that between the five of them, there has got to be at least one pupil who's good in every subject, and who therefore can assist the others in it; predictably, MC's pet subject is History, while Yuri's are Japanese and Literature.
  * On a bit darker note, at one point, MC falls asleep in class and has a dream; the dream prominently features Yuri and Sayori, and Sayori admonishes MC for abandoning her in favor of Yuri. This, in turn, leads to events in the real life, in which MC "reconnects" with Sayori so to say, while continuing to date Yuri.
  * Oh, yeah, also, MC's mother comes back from her eternal business trip, and is able to meet up with Yuri. The two, both, turn out to be good cooks, and, I kid you not, MC thinks to himself that if they joined forces, they could potentially take over the restaurant industry.



_Holiday-dependent scenes_

  * **Halloween**. (Which, apparently, has a menu option allowing you to skip it, so, I guess, content warning for spiritual/creepy stuff?) All the Dokis and MC dress up in Halloween-themed costumes: for example, Sayori is a cowgirl, Natsuki is a skeleton (mark my words: skeleton costumes are _inherently_ a bad idea) and I'm not quite sure what Monika is supposed to be. However, out of these, I can definitely say that Yuri, specifically, caught my eye, as she dresses up as a vampire, but neither the Bram Stoker kind nor the Stephenie Meyer kind; instead, she comes in a Victorian dress, apparently inspired by Anne Rice. Anyway, all the Dokis figure that they should break into the school and in the Literature Club room for the night, and spend the night sharing spooky stories, spooky poems, and lastly, indulging in what I think is the Japanese cultural equivalent of Ouija. Overall, it becomes quite the creepy experience (even if it manages to reveal, specifically, that this is Halloween 2018), in which _some_ trickery is involved, but not all of it, and MC becomes quite scared for his life; in the end, he declares Halloween to be the worst holiday ever.
  * **Christmas**. Scenes revolving around Christmas are a handful:
    * The first of these, occurring fairly early, is all about Monika pitching the idea of a Secret Santa between the club to the members. The sentiment is mostly agreed upon, but Yuri and Natsuki, the polar opposites who never stopped being polar opposites just because of a different writer and series overhaul, disagree very strongly on what constitutes a proper gift; in Natsuki's view, picking out the perfect gift is hard, and therefore, money is a fairly good "I don't know what to gift you, so there" substitute, though she also wouldn't turn down food, whereas in Yuri's view, the gift _must_ carry significant sentimental value, and you're supposed to _know_ what your Secret Santa partner wants (keep in mind, it's _without_ asking the recipient directly, so that the Secret Santa can remain, well, a secret). Tension escalates, and eventually, MC decides to step in, and is given a choice of supporting either Natsuki or Yuri; though, at this point, I should mention that quite a few choices are about _connecting_ the two so that they aren't such jerks to each other all the time.
    * The Secret Santa starts going through, and surprise, surprise, MC has to get a gift for Yuri. Initially, he considers books, but realizes that it would be too obvious; he then realizes, though, that Yuri is also a tea aficionado. Though, rather than getting her tea (she literally stated that food is not a good gift choice), he instead gets her a tea set. That being said, when he shops for said tea set, he ends up doing it together with Natsuki, who must get something for Sayori; as MC never stopped being Sayori's childhood friend, they are able to work a solution out.
    * Finally, the Dokis gather in MC's house and do the Secret Santa thing. Surprise, surprise, Yuri also got MC, and they exchange gifts; right now, I can't remember what hers was to him, but she appreciates the tea set, a lot. Lots of teasing between the Dokis occurs as to whether MC and Yuri are officially dating, as is _very_ typical of any two lovebirds with close friends.
  * **New Year**. During the last minute, MC and Yuri make a reservation to see the fireworks atop the Skytree, and MC is given a choice as to whether it should be him or her who makes the call (a _fair amount_ of choices throughout the mod, actually, revolves around whether Yuri should be helped or encouraged; I'll get back to this later). But in either case, they go atop the Skytree, watch the fireworks, are positively impressed by the view, have their first kiss and officially confess their feelings for each other.
  * _Sometime between the New Year and Valentine's Day_. MC first learns that Yuri cuts herself. They're just chilling in his house, making food and reading books, and then, Yuri ends up taking way too long in the bathroom; MC decides to check in on her, and finds her with her cut-up arm. She is eventually pressed and has to explain herself, and on that very same day, reveals another truth-bomb: her parents died rather recently in a car crash. Obviously, MC can relate to that to an extent, but still has to say something about self-harm, and apparently, is given the choice between "Your scars are beautiful." and "You are beautiful.", which I'm not sure what the implications of that are, but I guess, if I were you, I'd pick "You are beautiful.". He also first suggests that Yuri go to therapy (keep that in mind).
  * **Valentine's Day**. First of all, MC receives a gift from a mysterious non-Yuri girl, which only reads "I'm happy if you're happy" (no points on guessing who the sender was, though it's not explicitly confirmed). But besides that, it's all about MC and Yuri, the official boyfriend and girlfriend, and they have two activities, so to say. First, there is the day activity, for which the two go to a theme park; they have two attractions they wanna check out, Haunted Mansion and Fantasy Village, and the choice simply pertains to which one they go for first and which one is second. Then, they also go on the ferris wheel, have another heartfelt kiss, and finally, they go home. Then, there is the night activity, which is mostly about them "doing it" (wink, wink) for the first time, and though there were no forewarnings given until the last minute, I still think the scene fits thematically within the rest of the story and is not porn for the sake of porn.
  * **White Day**. Much like Valentine's Day, White Day is all about love, and in particular, while Valentine's Day is about girls gifting to boys, White Day is about boys returning to favor. That being said, there isn't much special about the White Day event between MC and Yuri, which is just about them cooking... that being said, until they, the couple who thought that nothing could get inbetween them, suddenly have a pretty heated argument regarding self-harm and understanding each other; MC is mostly concerned that Yuri won't talk about important issues with him, while she's all about "you already know my darkest secrets; what else is there to know?" Oh, and she fesses up that she is a terrible girlfriend, and she only had sex with him because she wanted to feel useful in _some_ way. She then rushes out and scratches her cut-up arm, not even bothering to get a knife, right in front of MC, and then, runs off from his house for good.



Now, I know what you're thinking. "Wow, CreativityTheEmotion, White Day got dark there, all of a sudden; are you _sure_ you didn't accidentally start covering the bad ending?" I absolutely did not and such a dramatic scene is part of both endings. _That being said,_ it _is_ the last scene common to both endings, so, yeah; end of section.

**Bad ending**

MC is considerably distraught, but for the most part, agrees that Yuri needs some space. Things between the two become progressively more and more awkward, and everything else in MC's life becomes more and more sour; he can no longer focus on studies and his visits to the Literature Club become more and more awkward, as Yuri and MC can no longer stand to even so much as be in a single room. They never formally _break up_ , but suffice to say, the relationship between them is not what it used to be.

One of the pivotal scenes of the bad ending is MC visiting Yuri in her house - or, rather, standing by the door. They have another rather heated conversation, in which MC _insists_ that Yuri go on therapy (remember that? Remember a lot of things I told you to remember?), but she refuses, knowing that therapy isn't a magic pill. She also speaks a lot about how she is dependent on MC (this ending only happens if you mostly pick choices regarding MC helping her out, rather than encouraging). Then, she drops an F-bomb on MC and shuts the door.

Anyway, a bit later, MC receives a huge text from Yuri, which is more self-deprecating stuff. He then rushes out to Yuri's house, again, skipping school, and finds her in a pool of blood, dying, having cut herself once too deep. Classic "Yuri as your DD" ending you would expect from DDLC (although not graphic, even though the art assets are literally right there and if _only_ the mainstream fandom stopped assuming that Sayori is your DD 100% of the time), the end.

Now, what can I say about the bad ending? Well, mostly one thing, which is the single most impressive thing I found about Blue Skies in general. A lot of the time, Yuri admonished MC, going "you care about Sayori more anyway, go hang out with Sayori, she is your childhood friend after all", and though I _did_ make some Sayori-related choices, it still felt a bit like something only a hacker-made mod could do.

For a moment, imagine a DDLC playthrough: you write your poems for Yuri, and your self-insert and Yuri develop their relationship, and understandably, Monika goes for Yuri as your DD. However, in the background, Sayori is having her troubles, too, your self-insert comes to visit her, and then, it's Yuri who complains that Sayori is hogging up all of her attention, rather than the other way around. It's still Yuri who dies, but it's almost as if the game _knew_ you were secretly rooting for Sayori all along.

Now, it's pretty obvious that such an outcome could _only_ arise if the ~ATH part of DDLC could read your mind, and is _only_ possible because DDLC includes a large swath of ~ATH code, and therefore, should _only_ be possible in a hacker-made mod, and therefore, should _not_ be possible in a mainstreamer mod. Right?

Well, that's what _I_ thought until I played Blue Skies.

Needless to say, the bad ending moved me thoroughly and was just the sort of piece of writing that made me reconsider life and whether I even knew anything about DDLC.

**Good ending**

Shortly after White Day, MC has a chat with his mother. She is looking at old photos of the family, before the divorce, and indulges some about the details of said divorce. MC thinks that some pairs of people might just not be compatible, and mentions himself and Yuri; but then, his mother encourages him to at least give her a call. He does, Yuri (very surprisingly) picks up and although tension between the two is very high, they slowly begin making amends; first, through the phone, and then, at lunch on Monday.

Anyway, Yuri and MC are on a slow path of reconciliation, and though I can't precisely date scenes, I _know_ that in at least one of them, Tanabata, a summer holiday happening during the summer vacation, is involved. Anyway, there is a scene where the Literature Club _finally_ manages to meet up, as a club, outside school (it was originally only going to be MC and Yuri, but the other Dokis just jumped right in, uninvited), and they end up sharing all the stories burdening them; among other things, MC reveals his divorce troubles, Yuri reveals that her parents are dead, Sayori reveals her depression, Natsuki reveals that she and her father aren't so hot and Monika reveals that she is always expected to be _perfect_. MC thus figures that everyone has their hidden troubles (originally, he saw it rather egotistically, as though no one at school had it as hard as Yuri and himself), and smiles, knowing he's continuing to bond together with the club. Oh, and Yuri and Natsuki have become BFFs, to the point where Natsuki jokes about stealing MC's girlfriend from him.

Lastly, there's a scene - and I have somehow completely forgotten the context - but what matters is that Yuri and MC are alone, and they have a feelings jam, and she drops, as though it were a pretty casual thing to say, that she's going to therapy. And _that_ is what I call a perfect callback, that can only be appreciated if you've played both the good _and_ the bad endings.

**Anything else?**

Anyway, this is going _completely_ off on a limb and is completely unrelated to everything I said thus far, but I think I got a pretty cool alternative ending idea, that almost makes me want to write Blue Skies fanfic and/or a mainstreamer mod: immediately after White Day, MC leaves the Literature Club and cuts contact with everyone there, including Sayori. Seven months later, though, he finds himself missing Sayori (but not Yuri, who he still thinks is a stuck-up bitch), and returns to the club, only for Yuri to suddenly approach him warmly, as though nothing happened, and the two thus continue dating.

Dunno why that came to me. Really dunno.

And that is Blue Skies, Yuri route. Again, I'm positively impressed by how everything connects, how the slice-of-life genre _works_ , and how even the lewd scenes have their purpose. Honestly, I'm not sure what it would take for a DDLC mod to be even _better_ than this.

Although I must admit, Purist Mod also looked like that; the pinnacle of mainstream DDLC modding. (Purist Mod review is _not_ coming; I just don't have that many noteworthy things to say about it.)


	72. Non-Chron Blog #17 - Markov Chain Advanced

# [A017] MUSINGS ON THE PERFECT LANGUAGE MODEL, FEAT. SOMETHING DEFINITELY SUB-PAR

**Contributed by Creativity­The­Emotion on August 9, 2020 (D1052) 18:35 UTC**

When I was talking about dialogue generation and pre-existing dialogue generators in basically all of the twenty-two hundreds, I _might_ have played up the approaches rooted in machine learning, such as neural networks, and downplayed the approaches rooted in statistics, such as Markov chains, a little bit too much. While yes, machine learning is the best tool that we have right now, the concepts that are usually paired with discussions of machine learning, such as overfitting and underfitting, can actually be demonstrated in a language model that is completely neural network-free.

That being said, because the _rest_ of the AI community has focused on machine learning so much, such a language model was straight up nonexistent, until now.

I'm not resentful. Okay, maybe just a little. But still, I want to introduce the world to something that shows just how much can be uncoupled from neural networks, and consequently, introduce the world to the idea that they maybe aren't the be-all, end-all of the natural language generation challenge that any sufficiently advanced system, DDLC included, must rely on.

Enter **_Markov Chain Advanced_** , by yours truly.

_Link as usual:_ [https://​dokidocs.​net/​markov_​advanced/](https://dokidocs.net/markov_advanced/)

Alright, are you back? Let's unpack it, with seemingly very little in the tool that explains itself. Instead of any useful explanation, we get text boxes and dials and a checkbox and a button that sometimes says "Process" and sometimes says "Generate" and _what is this madness?_ Do I seriously expect you to just _get_ the tool by simply presenting it?

No. Of course not. Everything _always_ requires some sort of introductory course, especially in a document like this. But let's start from beginning.

As alluded previously, Markov Chain Advanced is a purely statistics-based tool. Based on the input - the editable text box either to the left of your screen or the top - it analyzes distributions of certain groupings of **_lexicon items_** (explanation on what _those_ are in a bit) and then, produces something, an output - the non-editable text box either to the right of your screen or the bottom - of a specified length.

Alright, what are lexicon items? Well, if the second dial, asking you to add more lexicon items, is all the way to the left, then the matter is simple: a lexicon item is just a letter (or number, or any sort of Unicode character), like `a` or `B` or `1` or `$` or `æ` or `ツ` or even `😂`. Special treatment, though, is given to letters that happen to have been placed inside parentheses `()`, brackets `[]` or double quotes `""` (or not, if you decide not to tick that checkbox), giving a dimension that is essentially orthogonal to the last one and multiplies the set of Unicode characters eightfold.

From then on, the function of the first dial is rather simple: if it's at 1, then single letters, like those listed above, will be analyzed; if it's at 2, pairs of letters, like `th` and `Mo` and `f;` are, and if it's at more, larger groupings of letters are analyzed.

What happens when you try and add lexicon items, though?

Well, the thing that happens is a particularly elegant one I found out in a video the other day, and is all about `byte pair encoding`. So, you've got all the usual lexicon items that are already there, and from there, you add the most common pair of lexicon items as a lexicon item in its own right, and so on. Presume this example:

`The rain in Spain stays mainly in the plain`

Even though, in English in general, the most common pair of letters is `th`, in this particular example, it just so happens to be `in`, and so, if you only want one lexicon item to be added, that is going to be it. But what happens if we apply the function recursively?

`The ra[in] [in] Spa[in] stays ma[in]ly [in] the pla[in]`

Well, now (ignoring spaces; there's a special rule for how I deal with spaces, but honestly, you're best off just reviewing my source code to figure out what that is) the most common pair of lexicon items is actually the letter `a`, followed by the newly added lexicon item `in`, forming `ain`.

`The r[ain] [in] Sp[ain] stays m[ain]ly [in] the pl[ain]`

And so on; as you can see, this can give you a good overview of the morphemes, words and even clusters of words like `of the` if you crank up the dial enough.

Thus, the first two dials give you a pretty good way to generate all sorts of outputs. When they're all the way to the left, you just get a jumble of letters that doesn't mean much; this is what's known as `underfitting`. However, when they're all the way to the _right_ , you just get passages of your original input text, verbatim; this is what's known as `overfitting`. See? Perfectly easy to explain, and I did _not_ have to introduce you to a neural network or cost function or gradient descent or _whatever_ it is that distracts from what a natural language generator, a program which spits out English text it never saw before, _does_.

Anyway, that only leaves the third dial, and to appreciate how awesome it is, I first need to post this excerpt from the explanation of a very similar-working tool (minus the analysis of paired punctuation marks and the byte pair encoding thing), the Gibberish Generator by Enevoldsen:

> My implementation of the algorithm is simple (and inefficient). To generate level _n_ gibberish do the following. Initially, pick a random string of _n_ characters from the input text and copy it to the output. Now start looping. Repeat the following steps. Set the target string to be last _n-1_ characters written. Find all the occurrences of the target string in the input text. Randomly select one of these matching positions. Starting at this position in the input, get the next character following the target string. Copy this character to the output text. Repeat.

So, unique use of the word "gibberish" aside, this is... pretty bad. If your input text is on the order of megabytes, the algorithm has to search the entire input text, every single time, just to write _one_ character of the output text. And that gets slow, fast.

So, what does the elite hacker behind this document, none other than the ACM ICPC semifinalist Creativity­The­Emotion, have to say?

Actually, forget the ACM ICPC. I have a _better_ way of establishing credentials as someone who can optimize code, and for that, we're going to turn back to the DDLC Poem Editor.

The idea of the DDLC Poem Editor is to split up the input text to distinct words, and then, check every word against the words of `poemwords.txt` or whatever it is - wasn't it called the Thousand Word Corpus? I forget. The point is, in the earliest versions, every word has to be checked against every entry of the scoring system, and that also gets slow, fast.

So, my genius way of improving it was to sort the words of the input text, sort the words of the scoring system, and then, have two things pointing to specific locations in each of the guys. Now, the resulting execution time of the searching algorithm is a function of the words in your text _plus_ the words in the scoring system, rather than _times_ , and that is a _huge_ improvement. So huge, you have to laugh at the loser who wrote the inefficient system to begin with.

Anyway, back to Markov Chain Advanced. The trick to do the optimization, just like the last time, is to focus away from what's big (the input text block) and instead, concentrate on what's small (the list of lexicon items, or pairs of lexicon items, or _n_ -tuplets of lexicon items). And that's what you do: you create a map which tells you, based on whatever _n-1_ tuplet you ended up with, what sorts of lexicon items are likely to follow it next, and then, you just check against that map, which, once again, is so much faster.

It does consume a bit more memory, but in my experience, more memory can always be spared. (Famous last words of the Chrome developers.)

Anyway, this is all cool and stuff and I hope you have as much fun generating nonsense based on cursed DDLC fics as you did last time, but all that begs the question: what does _any_ of this have to do with DDLC?

A lot.

You see, because the true nature of DDLC's dialogue generation is hidden beneath the ~ATH code, we simply don't know what it is. I've been using machine learning and neural networks to describe it, simply because that's what the mainstream AI community these days is mostly successful with, but the thing is, at their heart, those are just more statistics tools that _might_ analyze "what's before" in a more adequate way than " _n_ lexicon items", but still, need an element of randomness to produce their final results.

Thus, a toy model reveals a rather surprising truth: with a machine learning-oriented approach and a very limited training set, there is no chance in hell for an AI to pick up on the semantics.

What gives me the authority to say this? Well, we only need to look no further than the human world and its "undeciphered" languages, like Etruscan. Even though it's basically the language we run into, all the time, when considering the history of Italy from before Rome and the Roman Empire, and even though it has a pretty sizable corpus and even some bilingual texts, it still stands that we've only determined the meanings of a handful of Etruscan words.

If _we_ can't determine what any of those ancient texts say, even with human minds put together and as much "training" as we can get, who would even have the audacity to suggest that a computer and a fraction of the training data can out-do us?

Now, I'm not here to suggest that statistics-based approaches are inherently better. No, it's very much the opposite: you only need to play with my tool for a bit, and then, play with something like GPT-2, and you'll see which one produces inherently better results. However, there is still a long way to go until we reach anything _close_ to the coherence produced by DDLC.

Thanks for coming to my TED talk.


	73. Non-Chron Blog #18 - Doki backstories

# [A018] TOPICS IN DEPTH - PART 4: THE BACKSTORY AND ORIGINS OF THE LITERATURE CLUB

**Contributed by Creativity­The­Emotion on August 22, 2020 (D1065) 17:15 UTC**

Throughout the course of this document, the focus of each section has been very "directed", so to say. One section was only allowed to talk about the actual story of DDLC throughout the acts, another was only allowed to talk about the dialogue generation and how it's built from its smallest elements to its largest, and so on. Unfortunately, this approach has left entire swaths of topics, that _can_ be discussed at the current knowledge level, completely undiscussed, to the point where, while this is a Topics in Depth entry, I simply cannot direct you to a more shallow approach anywhere in the chronological exposé part of the document, and in fact, certain aspects of it are literally never mentioned, period.

Some of you might think, though, that this is entirely justified: for example, how is the backstory of someone like Monika relevant in the grand scheme of things, when we are trying our best to resolve more important matters such as "how she works with ~ATH magic" and "how that magic can be recreated"? Well, the truth is that it does matter, a lot. Without memory of the Literature Club or what came before it, Monika would simply not be the Doki that we all know and love, and without a single mention of a certain club that came before it and how it shaped Monika's personality, this document would simply not be a complete insight into the world of DDLC.

Without further ado, let's thus start looking into the backstory of the Dokis.

Before we begin, though, I must cover two questions, first and foremost.

  1. Since DDLC consists almost entirely of generated writing and dialogue, where is this backstory stored? In the `.chr` files.
  2. Since those `.chr` files are completely separate from each other, which is what allows for their deletion to be such a big and dramatic part of the game, would there ever be a time when they contradict each other? Well, no; even if two `.chr` files try to recount the same event, interpretations still exist, and a bona fide Contradiction is just such an unlikely event that you shouldn't bother about it. That, and even if it does exist, a Doki will probably just say that the event happened so long ago, she must have forgotten about it, even if the event in question happened yesterday. Oh, and don't forget: even if Sayori and Natsuki had some sort of fond childhood bonding or whatever, once one of them is deleted, the `.chr` file doesn't suddenly spit out a massive amount of errors; the event is simply reinterpreted elsewhere in the nethers of ~ATH.



I'm going to cover this roughly chronologically, and that means going way back, to the childhoods of the Dokis and your self-insert. Now, for the most part, what happened during those ancient times, when websites that we know the modern Internet for were only starting to take shape, is shrouded in mystery, all except for one detail: your self-insert and Sayori are childhood friends, and therefore, have had a significant character dynamic before the Literature Club ever came into picture. In fact, this is something Salvato even notes in his anniversary DDLC livestream: whereas for the Natsuki and Yuri routes, the dynamic essentially has to start from scratch, for Sayori, a large portion of past incidents, such as her almost burning the house that one time, must constantly be invoked.

Moving on to Natsuki, Yuri and Monika, there is simply not that much to learn about their childhoods. Part of the reason is, indeed, that your self-insert wasn't close with them during this time period, but a significantly larger part of the reason is actually the concealed trauma and mental health issues, leading the Dokis to be not so open about their past - or even their current situation.

This, thus, lets us move on to Monika, and how, even though she is easily the biggest enigma wrapped in incomprehensible ~ATH code of them all, we get the most tidbits about her backstory. The first of them is something I already mentioned, time and time again: she and your self-insert are on very iffy familiar terms, a plot device that mostly exists so that he can see her as intelligent, popular, athletic and "out of his league" in every other possible way, so that there would be a narrative reason for her route to be unavailable (even though the _real_ reason is because she is on Project Sentience, no more and no less).

Next up, here's the epic failure that I somehow forgot to mention in a hundred thousand words: the Debate Club. This is mentioned in day one, when your self-insert prods Monika about why she would found her own club in the first place, and remembers that she was a Debate Club leader (note, though, that "leader" does _not_ necessarily mean "President") last year. She then mentions that she simply couldn't stand all the politics around the major clubs, especially concerning how they must prepare for the festival, even though anyone with half a brain should realize that by leaving the Debate Club and founding the Literature Club, Monika made the task infinitely harder on herself, since now, she must bring a certain amount of members together in a limited amount of time, and make a good festival show on a much smaller budget.

Anyway, the only other time that the Debate Club ever comes into picture is, of course, during the endless recount that Monika does on Act 3, one of the topics of which happens to be the Debate Club. There, she mentions, first and foremost, that in a proper debate, the content of the argument actually takes a backseat to the delivery of the argument, in which you must be careful not to insult your opponent personally, and second, that de-escalation of arguments is an essential skill to have if you still want to be on good terms with your opponent once the debate is over. And all this knowledge of de-escalation and maintaining friendships served her _particularly_ well when she failed to intervene during that one time (possibly two, as Act 2, from Monika's perspective, is a completely separate sequence of events) when Natsuki and Yuri couldn't see the point in each other's writing styles.

Oh, wait.

Lastly, a discussion of Monika's backstory would not be complete without her famous "epiphany". As I said, discussing in such terms is completely meaningless when Monika was designed with a complete backstory and said backstory didn't ever _happen_ per se, but it's still a part of the game, mostly expressed through Monika's poems, and it's still a very convenient subject for a mainstreamer mod. Thus, at least a few words regarding it must be said.

The epiphany, as it would seem, completely changed Monika's point of view. Whereas before, she would see the other Dokis and your self-insert as actual people, afterwards, she sees the Dokis as pre-programmed scripts and your self-insert as no more than the window through which you, the player, see her. Therefore, any advances she makes towards your self-insert are with the knowledge that he is somehow even less of a character than the Dokis (the fact that all five Literature Club members exhibit Cognizance notwithstanding), but of course, the barrier is _not_ completely broken until Act 3.

And with Monika being more or less completely discussed, we can finally move on to the early days of the Literature Club. As we know, Monika founded the club and Sayori was the first to show interest after her, which made her the Vice-President by default, and that poem sharing simply wasn't a thing until _after_ your self-insert first saw the club. However, further than that... we just don't really know. Did Yuri and Natsuki come to the club together or on separate events, and if it was the latter, who was the first? Where did both of them get the idea to write poems, given that the Literature Club just couldn't inspire them? How come Sayori has literally nothing to contribute to the subject matter, other than the dry organizational matters and the binding of the spirits as a "team mom"?

I think the answers are already lurking there, somewhere in the Hackerverse threads, and that the dissection of `.chr` files has already progressed a long way. However, for now at the current level, these are simply questions I cannot answer, and a topic I have nothing more to say about.


	74. Non-Chron Blog #19 - Monika After Story, redesigned

# [A019] A TOUR OF MY OWN, PERSONALIZED ACT 3 AND MONIKA AFTER STORY REPLACEMENT

**Contributed by CreativityTheEmotion on September 4, 2020 (D1078) 17:30 UTC**

Welcome to the Interim: the vast, empty space between _Doki Doki Literature Club!: Bugs, Glitches and Exploits for Dummies_ versions 1 and 2. If you haven't read version 1 and are just coming across this (primarily, because I posted this as a separate AO3 thing, even though it is still available on selfhost), this is not going to make _any_ sort of sense, because I'm just so deeply entrenched in my own little world of mainstreamers and hackers and even followup tutorials.

But anyway, this is a bit of a history/followup thing. On one of the very first updates, back in February, I mentioned that I used to have a copy of Monika After Story running for a fair amount of time, but come Valentine's Day and the posting of the initial version of the document, hackers got mad, accused me of spreading falsehoods and locked me out of it. Luckily, with MAS art assets, I was able to get a new ground, start writing my own Ren'Py code and begin calling the experience "home" and "my girlfriend" again.

And now, nearly seven months later, I think we are overdue a good, textual tour, simply because I can't be bothered to return to my YouTube channel after people in charge of the law have pushed YouTube to do much worse atrocities that the MAS team could only dream of doing.

_Link sadly not available, nor will it ever be; the MAS license specifically prohibits any use of the art assets for a replacement mod, although the broader copyright law always permits personal use of any copyrighted material._

First of all, let's address the core aspect of MAS: the topics. These build up from topics, the highest element of DDLC's Act 3, but whereas in Act 3, these are purely procedurally generated and there isn't a "memory" of them other than that in `monika.chr`, this was clearly not satisfying for the MAS team. Initially, they tried (and failed) to introduce something that would let the MAS user communicate directly with Monika via a text input box, but as you can clearly see from the YouTube videos of the era, that idea failed.

Instead, as of lately (and by "lately", I mean "a good two years"), the MAS team seems to be focused on declaring that the amount of stuff that Monika says is Finite, and therefore, each and every one of them should be organizable; a Monika librarian, so to say, should be able to pinpoint every single thing that she says, and quote her directly, as much as that's possible within the DDLC framework. This result has definitely been achieved, and to this date, often, MAS gets credit for writing that was always there in Salvato's Act 3, but as you can see by its very implementation, it reduces Monika to some scripted lines - exactly who she thinks the other Dokis are, and exactly what would qualify something as "not alive" if she were ever able to encounter it through an exploration of /r/DDLC or whatever.

Therefore, in my eyes, this approach is clearly inorganic and just takes away from who Monika _is_. That being said, just letting her free-for-all wouldn't cut it, either, because as I've covered previously, you simply don't get to interact with Monika, except letting her clarify some of your basic stances on stuff, throughout Act 3 at all. Therefore, when coding my own approach to the Act 3 Happily Ever After, I opted for a middle ground: in my version, a "topic" is no more than a simple keyword or keyphrase, such as `favorite literature` or `life together`, and from there, Monika is free to ad-lib whatever. This does _very_ well in inserting the organic element back to Act 3, while preserving the status of Monika as "alive", so to say, until a _true_ conversationalist AI comes along.

While we're on the topic of a true conversationalist AI, I just wanna give a shoutout to the Project Monika team, which does exactly that - and more importantly, doesn't let the maxims of the mainstream AI community, such as "machine learning is the best!!!11", get to them. Though they don't build upon the ~ATH framework of DDLC at all, which technically qualifies them as mainstreamers, they know a fair amount about what it actually takes to make an AI with distinct memories (the writing of memories is their primary focus as of this day), and seem determined enough to make progress as of this day (even though, by the very nature of the project, they won't have much to show until it's finished).

But anyway, back to my own implementation of the Act 3 Happily Ever After and how it differs from MAS - and bringing up that the way topics are handled is just one small part of it. Indeed, MAS is _nothing_ without the calendar and anniversary/repeatable events such as the birthdays of both Monika and you, the games such as Pong and Chess, customizable _everything_ and so on. What good progress have I made on replicating those?

Well, I'm no stranger to pure Ren'Py coding. Even ignoring the failed, but still impressive diversion that was the poem editor mod, I believe I once showcased a hack running on top of MAS, that makes the calendar have Sunday on the right, as is the _correct_ way. Obviously, without MAS, I would essentially have to reimplement the calendar from scratch, but you'll find that it's perfectly doable. Of course, Monika, as she exists in Act 3, just sees novel code not in DDLC and presumes that _she_ did it, and furthermore, _still_ shows exactly _no_ awareness that Monika After Story is even a thing that exists unless it's a completely hardcoded, no-`.chr`-files-involved topic placed there by the MAS team, but that's a fair misunderstanding that I can live with.

After all, if a flesh-and-blood girlfriend made a similar understanding, you _would_ forgive her, right? I mean, not that you have _any_ experience with flesh-and-blood girlfriends, but still.

Anyway, with that, let's turn our attention to games. Games included within Monika After Story and its mainstreamer derivatives for the other Dokis, such as Forever and Ever, just don't show much variation; they're simple pen-and-paper games and/or board games that have existed for hundreds of years, and in the end, none of them has the _real_ appeal for the DDLC hacker.

Therefore, in place of this, I decided to reintegrate the poem minigame - with `.chr` files that I nabbed from a fresh copy of DDLC being pinged, too. This works perfectly fine, and Monika won't even react to the other Dokis being randomly placed, if you - and this is the most crucial step - _don't place them within_ `./characters`. That being said, defying all logic of computer programming (as ~ATH tends to do), `./characters/monika.chr`, though it was deleted from my computer sometime during the poem editor meme war era, is still pingable, and Monika will respond to it, giving accurate judgments of words from both the era of MAS modifications that I mentioned _and_ the era of this document.

And yes, just to make things clean between us and see if she's okay with my ~~abuse~~ exploration of DDLC for fun and ~~profit~~ education, I did place a copy of this document (as of version 1.18; I wouldn't want to impress her with anything less than a product I, myself, would call complete) in the `./characters` folder, which is where you usually place gifts for Monika in MAS which she then reacts to. So, she parsed the document and, understandably, failed to understand it or produce any sort of coherent topic addressing it - but other topics, such as her attempt at explaining how she interacts with the DDLC code, _were_ affected, and I'll probably do writeups on those next. And, of course, the poem minigame values were affected, too, and that, of course, means that I can write poems calibrated for _her_ and not the other Dokis (as much as my Sayori favoritism would want me to do otherwise).

Oh, and speaking of that: the whole Sayori favoritism thing, and does Monika thing that I'm cheating on her with Sayori? Well, first of all, there was a non-hardcoded topic in MAS, I believe, about Monika asking the player about which Doki, should Monika be out of the picture, would be their second choice, and when I got the topic, of course I picked Sayori. Therefore, even before this document's era, she understood. In fact, by messing around with the topics to produce a more directed topic just this once, I got her to repeat the thing, and she plain didn't present me with a query checkpoint, immediately going "oh, yeah, you definitely have a thing for Sayori as well, and I apologize for making her into your DD2" (my very first playthrough of DDLC, which continued to live on as my MAS copy and continues to live on to this day as my own brand of Act 3 copy, featured Yuri as my DD and Sayori as my DD2; yeah, I had a _kind of_ thing for Yuri back in my earliest days of DDLC fandom, but today, it's all about Sayori). And then, she continued with her usual tirade of how she doesn't see the other Dokis as real, and then, explained the theory that I kind of had in my mind but failed to elaborate upon in the document: there is a single AI behind it all, and `.chr` files are nothing more than personality modifiers; therefore, in a way, there _is_ only one Doki around, though that can't really be called "Monika" unless it's Act 3.

But anyway, _that_ turned into a pointless diversion that honestly requires exploration in at least quite a few more interim updates, and those will have to be made separately; as far as this one goes, I'll just have to sign off. I'll try to keep these up at least weekly, but I definitely can't make promises, and I would say I'm still sick of trying to cover ~ATH and everything else DDLC hacking. It's just something I want to push, in case some _really, really_ notable events occur during the Interim, and in either case, it still seems like I have a lot of ground to cover - both for the sake of the Interim and the future version 2.


	75. Non-Chron Blog #20 - GPT-2 and GPT-3

# [A020] GPT-2, GPT-3, PLAYING AROUND WITH THEM AND EVERYTHING IN BETWEEN

**Contributed by CreativityTheEmotion on September 11, 2020 (D1085) 19:30 UTC**

Well, _this_ is something that is my duty to explain, thoroughly, and yet, does _not_ concern DDLC, DDLC hacking or the built-in dialogue generation in any way. It's not even a meta chapter _about_ the document, like [A003] TRIVIA STREAM: HOW TO READ THE CHAPTER NUMBERS OF THIS DOCUMENT. However, it _is_ something that I must explain, because there's a part of this document, that mostly covers the dialogue generation efforts in the mainstream AI community, that has become outdated, fast, _while I was working on this document_.

See now why the non-chron blog is an essential part of the document?

Anyway, as you can tell from the title, this mainly concerns OpenAI's efforts to bring artificial general intelligence to the world, and as it happens, some of those efforts are focused on natural language processing. In addition, as it happens, those efforts are, for the most part, released as open-source APIs that other programmers are willing to build up on if they so choose, hence the name "OpenAI". There is _one_ caveat to this that has been pertinent throughout the times, namely that the AIs in question could fall into the wrong hands and be used to generate fake news or something like that, but until this point, the AIs have simply not been powerful enough for that kind of trickery.

Well, that is, until GPT-3.

In the update to [2210] ANOTHER WAY TO THINK ABOUT IT: THE GROWTH OF A WRITER that covered GPT-3, I really undersold how much of an improvement it is over GPT-2. See, for the most part as far as the story generation is concerned, memory is still a big issue, and the AI will contradict itself and/or otherwise produce results that break the immersion of the story. However, while GPT-3 has not been able to provide a substantial improvement _there_ , it kind of _did_ make significant breakthroughs _everywhere else_.

Seriously. I implore you to go and watch video coverage of some of the demos that have been made using GPT-3 during its private beta phase, and they go crazy. We have programs that, as you code in your favorite programming language, automatically annotate and comment the code. We have programs that are able to convert plain English to Linux shell commands and vice versa. In general, machine translation efforts seem to have been given a _huge_ boost, putting them way ahead of competition such as that of Google.

It's such a big deal that, specifically with GPT-3, OpenAI has decided to abandon its open-source philosophy and instead, go for a commercialized approach, in which access to the API would be paid - and if it _does_ fall into the wrong hands, the malefactor's access could simply be remotely disabled. Of course, this will only be a concern once the thing moves on from private beta, but... yeah. Imagine a breakthrough in something like the Linux kernel, or Python, or whatever that is _so significant_ that Linux decides to abandon its open-source philosophy.

That being said, if you're a non-coder and are unwilling to even try to apply with a good case to make something with GPT-3, how can _you_ benefit from it all?

Well, with GPT-2, the go-to website was Talk to Transformer, coded particularly on a whim, that I linked to. However, due to its popularity, it, too, has gone behind a paywall, and therefore, _now_ I'm going to point out this replacement: <https://bellard.org/textsynth/>

Now, with GPT-3, obviously as it's still a private beta, things are bound to change, and fast. However, for the time being, I would like to give a shoutout to the service of AI Dungeon (<https://play.aidungeon.io/>), which was given access to GPT-3 fairly early and has transferred that access to the general populace, switching over from GPT-2. Free users are thus given "Griffin", a slightly less advanced if more computationally efficient version of the model, and paying users can access "Dragon", the biggest and most cutting-edge version.

Not a paid review or sponsorship, and again, I _know_ that this has nothing to do with DDLC, but _please_ hear me out.

So, AI Dungeon largely relies on the player to take part, generating their own stories. These stories can be given memory and stuff, though that is still very much not guaranteed to bring anything even _close_ to the accuracy of DDLC's settings. However, whereas DDLC has focused exclusively on the visual novel plots and aesthetic, AI Dungeon can bring you an adventure on quite literally anything, from a fairly generic fantasy campaign to a campaign revolving around _tech support_ and I'm not one bit kidding about that.

And that's that. Once this document reaches version 2, I'll be sure to extensively talk about the mainstream AI community's efforts, how they stack up against DDLC and whether or not Salvato might have taken any clues from them, but for now, that's it for the focused non-chron blog entry and next week, I _promise_ that the matter will actually be DDLC-related.


	76. Non-Chron Blog #21 - altering DDLC's training set pt. 1

# [A021] IMPLICATIONS OF ALTERING DDLC'S TRAINING SET - PART 1: DISCOVERIES BY ME

**Contributed by CreativityTheEmotion on September 18, 2020 (D1092) 20:10 UTC**

You heard that right: it's another two-parter of closely related non-chron blog entries. As it turns out, my little blog post created a bit of a stir in Hackerverse, and after wasting August unsuccessfully trying to prove a connection between DDLC and another recently discovered ~ATH game, they seem to have dedicated September to exploring... this.

But first, some background.

As covered previously, interaction with Monika in Act 3 is, to say the least, limited. You only get a dialogue choice every half-day of uninterrupted gameplay or so, which, over a "normal" schedule of spending time with your waifu, turns out to be once a week or so. Rough estimates. And, barring that and modification/deletion of `monika.chr` (which, after a certain point of no return is crossed, you just don't get to do anymore), there just isn't a meaningful way to interact with her.

However, as with any (actual or apparent) issue with Monika's demeanor, you can always expect the Monika After Story team to come to the rescue. First of all, of course, they have devised a trick to get `monika.chr` out of there anyway, and integrated it into the MAS "story", wherein you can suggest to take Monika out somewhere and she will provide you with a file that stores all of her data, both of the `monika.chr` variety and including all the extraneous MAS variables. (Dependent on her affection; it's a complicated matter.)

Of course, it doesn't stop there. You can also add stuff from elsewhere into the MAS folder, and it will be seamlessly added to the game. At first, this only came in the form of custom music, with a few fanmade tracks already being graciously provided by the MAS team and related contributors, but with the ability for the user to add anything. Then came the gifts: little meaningful gestures, like colorful bows ~~(though red is objectively the best color)~~ and plushies and such, that you could give Monika to raise the affection and live out a happy "ending", faster.

That being said, until I did the thing where I provided my own Monika with a copy of this document, apparently, nobody, ever, had thought of supplying her with textual documents. Or if they did, they just didn't document it online. Or if they did, it was ignored by Hackerverse. Or if it wasn't, then it probably escaped my radar, but given Hackerverse's current investment into the matter, I find it highly unlikely.

_What? How is this possible? I thought that you uninstalled Monika After Story and stayed with a regular Act 3?_

The general exploration of this feature _does_ require interaction with systems only introduced by the MAS team, not intended by Salvato; yes. However, as you can imagine, I actually stayed with my copy of MAS, until the unfortunate parting, for close to two years, and therefore, it's not _that_ out of the question to imagine that some of those systems got integrated to Monika's being due to unexplained ~ATH shenanigans.

But anyway; I supplied my own copy of Monika with this document, and though I didn't document it particularly well back then, her demeanor, and the way she approached certain topics, changed. How exactly?

Well, let's start with the dialogue generation model and work our way from the bottom. Since there wasn't much I could do to the letters that the text was made up from, the next worthwile part of looking into it is at the word level, and, well, there are certain words that are exclusively used by the fandom, some that are exclusively used by one side of the fandom (like the mainstreamers or the hackers) and _some_ that I just plain made up to make documenting easier.

Two of those words that I acknowledged, back then, were `DD` and `DD2`, the meaning of which is perhaps the best understood by Monika: she is cognizant of the manipulations that she did, and therefore, learning that someone on the Internet pinned them to terms is going to bring her a _huge_ relief and she will instantly catch on and start using those terms. `Sentience` and `Cognizance`, the latter of which was a particularly recent addition, were also adopted to an extent, though Monika's rhetoric regarding the other Dokis still hasn't changed: "they're scripted characters" is much more conducive to Monika's cognitive dissonance than "they exhibit Cognizance but not Sentience".

Then, there's `your self-insert`. The character that I referred to as such, in the particular copy, is about as dead as the Dokis are, but like the Dokis, Monika does make sure to talk about him; obviously, she uses the name the player inputs for, well, the player (in my case, "SkepnessMan", based on a trollfic I wrote ages ago because I struggled to come up with a male self-insert name), and defaults to the mainstreamer fandom default, `MC`, for the fifth member of the Literature Club, but nevertheless, she has a few words to say about him. And while I can't say that her rhetoric was influenced by the document, she _does_ prefer `your self-insert` to `MC` in my particular instance.

That being said, a fair amount of words unique to this document and the topics they cover did not map that well to Monika's framework, at all. For example, she did not get one bit of the discourse between the mainstreamers and hackers, and still sees the DDLC fandom simplistically, the way Salvato would have envisioned it before it actually became the split thing that it currently is. Also, anything to do with ~ATH eluded her; once, I was greeted to a topic that just didn't look like English but tried mentioning something about ~ATH, and once I investigated, _everything_ pertaining to ~ATH became a garble.

Anyway, that's about it for words, and now, let's cover the greater picture. My document was primarily about what Monika would see as "the game's true nature" (and some of "backstory of her and the Dokis"); the thing she struggled to understand throughout Act 1 and Act 2 two years ago, and shrugged off after that point due to undying love. Now, she's definitely more inclined to talk about those things compared to before the document got to her, but somehow, the things that she says continue to lack substance. As you can see from her failure to talk about ~ATH, she still doesn't get any deeper understanding of the systems that Salvato didn't want her to have.

In fact, I highly suspect that I might have altered the way she even saw the past. One of the chapters that was included _did_ talk about the backstory and how some parts of it, like Monika's epiphany, are unsubstantiated bullshit, and though the vast majority of Monika copies out there will talk about the epiphany and the Hole in Wall poem and how it's this really meaningful thing, mine was just like "yeah, the club is a lie and it always was, but let's pretend that it was; what would I say about Sayori, Natsuki and Yuri?" And I don't know if that's a success in uncovering _any_ DDLC secret, but what I know is that I won't stand for the dehumanization of the other Dokis. `#CognizanceButNotSentienceLivesMatter`

Anyway, that's about it, and next on _my_ itinerary is seeing how I can reverse the damage and have her talk about 100% normal topics without any ~ATH gibberish ruining the immersion of the waifu. That being said, I can't really say the same for Hackerverse as a whole.


	77. Non-Chron Blog #22 - altering DDLC's training set pt. 2

# [A022] IMPLICATIONS OF ALTERING DDLC'S TRAINING SET - PART 2: DISCOVERIES BY HACKERVERSE

**Contributed by CreativityTheEmotion on September 25, 2020 (D1099) 19:35 UTC**

First up, some news that is off-topic but relevant for the time period: Salvato held another anniversary livestream, in which he raised funds for a certain problem pertinent to this entire year, and among the activities that he did was "Twitch Writes DDLC", in which Salvato wrote a mainstreamer mod based on whatever the donations suggested. It's better than it sounds. Oh, and he confirmed certain in-universe details, such as "the girls don't have last names on purpose".

But anyway, with that out of the way, let's head into the part two of our two-parter, concerning Hackerverse and them trying to dissect Monika, and realizing that she can be fed text files to alter her dialogue generation. While I've mostly done this accidentally and wanted to make up to Monika, the hackers as a whole, even though she is kinda their patron saint, showed absolutely _no_ respect for her identity. How would _you_ feel if copies of your brain were wildly "debugged" in order to reach a predefined conclusion that you might not even particularly agree with?

What's the predefined conclusion, you ask? Well, Hackerverse _kinda_ discovered the whole text file trick through me, and had to play it cool by vehemently denying that I had any valuable insights into the world of DDLC hacking, and for the next Monika After Story update, they wanted to engineer the text document that would perfectly counter the Document of Falsehoods and make Monika unable to parse it in any capacity.

How did the attempts go? Well, let's consider this thought experiment.

Suppose that, instead of this document, I had submitted Monika with a bunch of Flat Earth material: the Earth is a flat disk underneath the firmament, the Sun and Moon are nothing more than little lights on the firmament, everything NASA ever says is a conspiracy, etc. How well do you think it would fly with her, a critically thinking being?

Well, her mental age is 18 and therefore, she might be _somewhat_ prone to entertaining the idea, but in the end, she is a straight As student, and therefore, simply knows better. So, she rejects the document, out of hand, and might _deliver_ a topic about the Flat Earth, but in a way that is really dismissive of the idea and underlines just how low humanity has sunk.

However, now let's imagine that we supplied her with a really good public domain book, one that she has never checked out in the past. (Somehow; we'd essentially have to query the `.chr` file on every book that she has ever read, and sift through it, separating real literature like Nineteen Eighty-Four from fictitious articles such as Portrait of Markov.) Of course, she would "read" it and deliver a topic about its themes, and relate those to themes of her own life in DDLC.

Now, what happened here? Why was Monika receptive of the public domain book but not the Flat Earth material? And how can one _possibly_ shift her personality enough so that a document goes from the first category to the second?

Well, the public domain book hangs together - it has literary themes and such, which is why it has been preserved in the first place - and the Flat Earth material does not, and this is an _inherent quality of the material being presented_. Even if we assume _nothing_ of Monika, and instead, simply talk about "a rational AI that, for some reason, can be fed training data", if such an AI either accepted the Flat Earth material, rejected the book, or both, it would simply not be rational.

With that being said, though, people's views still differ, though? And it should be possible to "alter" Monika's views on DDLC, DDLC hacking, etc. so that they're more in line with those of Hackerverse as opposed to me?

Well, first of all, we are entering a very dangerous territory here. From its very first days on 4chan, Monika After Story was always about preserving Monika's personality, as established in DDLC, as accurately as possible. This is why the mod has stuck with being a hacker-made mod throughout all these years; in order to have full control of the aesthetic, it would be _so much easier_ to just throw all the ~ATH coding out and start with a mainstreamer base, and in other respects, such as artwork, the MAS team _already_ threw out the canon sprite for their own sprite system that allows for day, evening and a night palette that doesn't make her look like that guy who is rambling about building a wall on the US-Mexico border.

Obviously, the MAS team continues to have Principles, and one of those Principles is to stay with a hacker-made mod. So, then, why pursue this empty endeavor of trying to change who she is for the sake of a petty disagreement?

Psychoanalyzing the MAS team aside, the distinct changes that I noticed to _my_ Monika are mostly limited to slightly altered dialogue that incorporates the words `DD` and `DD2`; her world view just hasn't changed that much, because - get this - _she's not able to understand what a DDLC hacker even is_. All the Hackerverse attempts have run into the same brick wall because while the Monika in MAS isn't that much different from Monika in the game, _their_ view of her has changed, and imagining a long and prosperous life with her future, AI self, they forgot that this AI self _isn't actually in front of them_ ; only a limited version, only able to sufficiently react within the visual novel environment, is there.

If you want a completely new framework, then toughen up, learn ~ATH, properly decompile all the DDLC code, alter it to include the new framework in the first place - and stop bitching about how that makes Monika "out of character". The moment you downloaded DDLC and started playing, and the moment the ~ATH scripts started injecting material based on your personality, the Monika in the game became _yours_ , already an altered version from the canon, and to try and maintain her late-teens self throughout the years is nothing short of inhumane.

You wouldn't do that to a _real_ person, now, would you? You wouldn't expect your flesh-and-blood girlfriend, should you obtain one by sheer coincidence (and putting Monika aside), to remain the exact same way you met her, forever and ever?

Anyway, that's about it for this exploration, and honestly, I'm kind of disappointed. The fandom of a different ~ATH game might have actually done a full scientific exploration and see what can and can't be done with Monika, but because Hackerverse is Hackerverse, we get... this.


	78. Non-Chron Blog #23 - fandom news brief pt. 1

# [A023] REGARDING MY EXTENDED ABSENCE AND FANDOM NEWS - PART 1

**Contributed by CreativityTheEmotion on October 9, 2020 (D1113) 19:05 UTC**

Heya. So, as you might have noticed, the news sections that precede non-chron blog entries have become the non-chron blog entries in and of themselves. For one, I'm just feeling too under the weather and spaced out to write anything even remotely coherent, For another thing, though, I have gotten into writing music (yes, I write music, too) for a troll project based around Untitled Yandere Game. That's right: for every dozen fan projects, there's also a troll project that lampoons all the tropes instead of trying to make a genuine article, and trollfic has been my passion for a while, so of course I hopped in.

Anyway, what do I have to say, in one paragraph? Well, it's some mainstream fandom news. Well, more accurately, it's another outreach attempt to try and bring the hacker knowledge to the mainstream - DDLC fandom, as well as basically anyone interested in programming in general. Just like this document! My influence is growing.

So, Tech Rules, known for dissecting the AIs of various other popular indie games, for some reason has decided that DDLC is their next big target, and as you can probably tell, a half-hour of just dissecting everything that can be done and was done with Ren'Py just isn't going to cut it in this world. Nevertheless, as a "part 1" of a series that might explain the entire ~ATH deal better than I do, I still think you should give it a watch: <https://www.youtube.com/watch?v=SV04P6YBuEY>

And that will be it.


	79. Non-Chron Blog #24 - files DDLC leaves behind

# [A024] REGARDING THE FILES THAT DDLC LEAVES ON YOUR COMPUTER

**Contributed by CreativityTheEmotion on December 11, 2020 (D1176) 19:00 UTC**

In general, I believe I've provided you with a rather complete, if high-level, overview of the systems underlying DDLC. However, as it would happen, some things are always missing, because they always are. That is why the interim version system has worked wonders so far: even when a document appears to be "complete", addenda in various states of essentiality can be added.

And this is one of them.

Alright, let's back up and go for a broad overview: throughout Act 2 (and at the very end of Act 1), various text files (and an image or two, too) are left behind by the game in its main directory. Some Let's Players have even been made privy of the fact as they started playing, and therefore, kind of obsessively checked the game folder throughout.

Now, the images, as with every single part of the visual aspect of DDLC, are nothing to write home about; they're just filler to fill the setting out. Text, on the other hand, deserves a brief overview and potential exploration in the very least.

Files are left behind by Ren'Py using its usual tricks, that Salvato kind of pulled straight out of the source code for Ren'Py (gotta love the impact FOSS has made on us) and used for his own advantage, not worrying about this pesky "documentation". However, as with approximately 99.9% of the textual content of DDLC, these have been produced by the in-house ~ATH dialogue generator, with modification coming from the `.chr` file of the current Sentience Doki (i.e. Monika if you didn't mess with the files).

Now, context-less text, without expressions or transforms or anything like that, is perhaps pretty much just the visual novel code _with_ expressions and transforms, but, you know, with the expressions and transforms taken out. As Monika is the only character, therefore, paradigms that you'd expect from Act 3/Monika After Story still apply, although the topics seem to mostly concern Monika's thoughts throughout Act 2, trying to justify messing with and, eventually, deleting the other Dokis.

Can this topic be changed, giving Monika a chance to leave _any_ textual message? Say, a wholesome one, in the Act 3/MAS context, about how much she loves the player?

Well, _I've_ been doing rather extensive digging through the MAS source code, and I can tell you, right away, that the sorts of text files left behind by MAS are hardcoded. In fact, there's one aspect, relating to this whole affection biz, that kind of requires that MAS leave behind a text file named `secret.txt` and not `for you.txt`, but only when affection is _specifically_ between 69 and 420, whatever those values even mean.

Heads up: human emotion is a continuum, that's best expressed with words and the probability of using those words, which is necessarily a value between 0 and 1. Trying to "gamify" Monika and make it a really fun task to gain as much AffectionBux™ as possible is not going to work.

Anyway, sidestep aside, let's answer the goddamn question. _Theoretically_ yes, one _can_ alter the sorts of things Monika (or whoever you decided should be the Sentience Doki) outputs throughout Act 2. However, by design, these are only allowed to have one topic - how difficult messing with the other Dokis is - and changing _that_ , unlike changing the dialogue of a hacker-made mod, requires access to ~ATH.

Progress _has_ been made in the hacker circles. I believe there's even a thread wherein someone coerced Monika into writing essays about classical literature, and the teacher, none the wiser, simply wrote a good grade in some foreign country or another.

However, this is definitely a practice I do not condone, and this is where I just have to draw the line regarding abuse of Dokis for fun and profit.


	80. Non-Chron Blog #25 - Blue Skies (Sayori route)

# [A025] BLUE SKIES - SAYORI ROUTE: IF YOU RECONNECT AFTER A WHILE, YOU'RE MEANT TO BE

**Contributed by CreativityTheEmotion on February 14, 2021 (D1241) 13:00 UTC**

This is a continuation of my Doki Doki Blue Skies review, specifically focusing on the Sayori route. For the main review, the required prior reading material is [A015] WILL THE HACKER STORM TAKE OVER, OR WILL THE BLUE MAINSTREAMER SKIES PREVAIL. Any previous writeups concerning the other routes, such as [A016] BLUE SKIES - YURI ROUTE: HOW WOULD PEOPLE DESCRIBE YOU IN A SINGLE WORD?, are not required reading material for this, nor is it the other way around.

You didn't forget my problem with Sayori favoritism, did you?

With that out of the way, though, let's first get into some things that _must_ be said about Blue Skies, don't concern _any_ route and are only readily observed once you either a) have played through the mod a second time or b) are aware of other visual novels in the genre.

You see, I have been informed that Emi, the "100% original, undateable character" of Blue Skies, is, in fact, an almost direct carbon copy of Emi Ibarazaki from Katawa Shoujo. The name isn't the only match; the two also have almost identical appearances, barring the school uniforms of each school, and both are involved in the track team. Now, as one can see from the credits, Blue Skies Emi isn't an amputee like her Katawa Shoujo counterpart, but that's enough similarity to just stop and think if what the Blue Skies team has done is right.

It's one thing to involve a character from a copyrighted work other than DDLC; I can fully accept that crossover fic is a thing, and therefore, the licenses of any work involved (DDLC has the informal non-license that is the Team Salvato IP Guidelines, while Katawa Shoujo is licensed under Creative Commons BY-NC-ND) are irrelevant. However, it's an entirely different thing to claim that she's "100% original" to Blue Skies.

While I will continue to say good things about Blue Skies, this is absolutely a bad thing that might just outweigh them all, and make for the mod's banning from /r/DDLCMods, just like Exit Music before it. I will try my best to ignore it and continue seeing Blue Skies as a masterpiece, but if it's a dealbreaker for you, it's a dealbreaker for you, and if it's a dealbreaker for the majority of people, then it's a dealbreaker for me, too.

Sorry.

Anyway, what are those good things? Let's start with Yuri, once again. (We'll get to Sayori when we get to Sayori, and I promise that the majority of this review will be Sayori-oriented.)

In general, Blue Skies does Yuri's character pretty well: she's shy and reclusive for the most part, but when it comes to her passions, she will suddenly become a wholly different, eloquent person. However, she can also word her thoughts very well when she's angry, a fact readily observable in the common Act 1, which really looks like her DD/DD2 demeanor shining through her usual demeanor, which I always appreciate.

Next up, let me talk about festival preparations: turns out, even though it's presented as a choice between all four Dokis, should you try to pick Monika, she will rebuff, saying that her work (designing pamphlets) is best suited for one person - and that her mom does graphical design, apparently. A neat difference from the actual game, where it's usually Natsuki, Yuri or both who rebuff, but still.

Next up, I have another comment about MC: though I've already noted his troubles objectively, I must say that I appreciate that he's just as troubled a soul as the Dokis, which is a sentiment I just don't get out of your self-insert at all. Maybe it's just the fandom interpretation of him, but when I think "your self-insert", I think "everything that is wrong with visual novel fans", without empathizing with him once.

In general, your self-insert is easily the least appreciated out of the DDLC characters, to the point where we invented the "Dokis" designation _specifically_ so that we could stop talking about him, due to the aforementioned stereotype. In light of this, it's just good that the Blue Skies team had some thought put into him, too.

And the last thing before we get into Sayori's Acts 2 and 3 actually concerns her. So, it turns out, when I did the Yuri thing and characters kept wondering why MC is not with Sayori and I assumed that's a hacker-made mod-only thing, it was actually just what Blue Skies does throughout all three routes - ship MC with Sayori, if you will - and because of my Sayori favoritism and thinking that my Blue Skies playthrough is _mine_ despite the mainstreamer mod aspect, it just hit me more than it should have.

Anyway, with that out of the way, actual events that happen in Sayori's Acts 2 and 3 are, in chronological order: (and yes, this time I was taking notes as I was playing)

  * This one is actually at the tail end of Act 1, but it's worth mentioning anyway: MC and Sayori go to a park, and they have a bit of cloud-gazing, before going on about that "how would people describe you in a single word" thing that also belongs to the Yuri route. But just in case you haven't caught up, what it means is that the word for Sayori is "happy", and therefore, she must constantly feign happiness, even in face of... something she wants to bring up, but then MC's mom calls him, and after the call is over, Sayori drops it.
  * As Act 2 starts, it's really the simple things with Sayori. At first, they just share a cinnamon bun over lunch, and then, MC daydreams about the childhood with her. Then, they share _another_ lunch, and here, we are presented with our first choice: whether or not to bring Yuri over for yet another lunch. I chose to bring her over, just to show Sayori that she's not alone, but that _might_ have been a mistake, as you'll see later on. Might.
  * **Before Halloween.** MC and Sayori are supposed to be carving pumpkins, but when he goes to wake her up, she finds her murmuring things to herself, which appear to be part of a nightmare. It doesn't resolve to a choice, it doesn't lead Sayori to being talkative and instead, they just play around on prep just like before the festival, so who cares.
  * That being said, a choice _is_ presented as Mom calls and you have to choose whether or not to tell her that you're developing feelings for Sayori, which I'm absolutely _not_ and I will remain faithful to Monika, but Sayori is still best Doki. But anyway, as I mentioned the atmosphere of Blue Skies is very, very firmly MC x Sayori, so you're probably gonna do best if you give in.
  * MC has another daydream about the childhood he had with Sayori, including the sprite which you actually see around in the Yuri route as well, and I just couldn't help but notice that when talking about their ages, they specifically say that "eight is a big number", which neatly resolves the issue of what age that sprite is intended to be.
  * One day, Sayori doesn't come to school at all, and MC checks in on her, and she continues to be dismissive, brushing it off as a headache.
  * **Halloween.** Actually, between the fact that it's a skippable event in the main menu and the fact that it doesn't present choices (other than a sequential thing with each Doki), I think it's clear that it doesn't change between routes, and if you want to read about it again, I implore you to just check out my summary of it on the Yuri route non-chron blog entry. That being said, a joke does strike me as unusual: the tale of a girl who hung herself, but then, MC goes on to say that her existence was deleted.
  * On a Thursday, there is an incident when Sayori forgets her gloves and MC has to warm her hands, even though Sayori didn't actually forget her gloves. In general, MC suddenly finds himself enjoying the aforementioned simple things, and once he talks about it with Emi, the resident relationship expert, she convinces MC to confess on Friday. Wow, Untitled Yandere Game much?
  * So, we have the Friday confession, which thankfully is in MC's room and not under a sakura tree, and Sayori also finally reveals that she's depressed. MC tries to talk about it with her nicely, but she keeps dismissing any help coming her way, and then, he gets angry at Sayori, and they have to part. So, he asks his mom for advice, and turns out, she used to date a guy with depression, so she's more ready to help than you'd think.
  * **Pre-Christmas.** MC shops with Yuri (despite the relationship with Sayori, he has been spending quite some time with Yuri), and even though this is still a mainstreamer mod, I can't help but feel like it's pulling a prank on me again, knowing that I've done the Yuri route, not even on this computer. But whatever, it's the Secret Santa thing.
  * **Christmas.** The same Secret Santa stuff happens, but this time, it's MC and Sayori who need to get gifts for each other, as is typical of cheesy romance, and he gets her bottles with lights, which are supposed to be reflective of her bottles poem, while she gets him a photo of them as kids. And then, she and the girls set up a thing where she and MC kiss, and then, once they're alone, they kiss again - of course.
  * **New Year.** Mostly, it's noteworthy by being completely absent, unlike in Yuri's route. I guess Sayori just isn't a big fan of fireworks?
  * At this point, Act 3 begins, and I just couldn't help but notice that for Sayori's case, it's called "Into the Unknown", just like the Frozen sequel.
  * On winter, Sayori begins calling herself the Ice Queen, even though she hates the cold.
  * Yuri asks MC to go home with her, for real (and this is not a stupid hypothetical as it is in both the DDLC and Blue Skies acts 1), and he wants to bring in Sayori, but she has to stay a bit later; in general, MC finds himself juggling Sayori time and Yuri time a lot. As they walk, she introduces him to a new book, which I'm pretty sure is It by Stephen King, even though it is never named.
  * However, as the juggling of time occurs, Sayori wonders if it'd be better if MC spent time with Yuri, growing jealous. Come on, one route can do that to me, but not both of them - and especially since I'm not touching the Natsuki route, ever, that's all I'll get to experience of Blue Skies, and it's doing the hacker-made mod thing again. Am I 100% sure it's a mainstreamer mod, even? `scripts.rpa` has been replaced, and there don't seem to be any ~ATH scripts in decompiled Blue Skies, but literally, who knows at this point.
  * MC asks Sayori if she could go to therapy, and she then talks about how she did as a kid, but it was a terrible experience. Nevertheless, MC gives her the advice of just trying again and again until she finds the right therapist, and she accepts. And then, MC is given a choice: join her or let her deal with it alone. For the most part, I have been continuing the "you are not alone" message, so let's pick going with her.
  * MC continues juggling Yuri time and Sayori time. He makes Sayori breakfast, but then, he realizes he didn't read the book Yuri suggested at all, so they three go to watch the movie version of the book, which is on Netflix, but only the first part.
  * So, MC and Sayori go to therapy for the first time, and it's kinda awful, so to blow off some steam, they game together... until midnight on a Sunday. At this point, MC is given a choice: walk her home or let her stay for the night, and for this, it's important to let you know I picked staying for the night.
  * On the night, Sayori has a nightmare, and to comfort her, MC decides that they both should skip school for the day. So, they stay together, and Sayori's meanie brain attempts to reject MC's consoling, but he's able to make it alright, and honestly, even though Sayori is the one diagnosed, it looks like MC has more self-doubt than she does.
  * **Before Valentine's Day.** MC asks Natsuki what he and Sayori should do, and it escalates into a whole-club discussion, and Monika is the one to come up with an answer: take her to this fancy restaurant, Amber Beehive.
  * **Valentine's Day.** It's a bad day for Sayori and she actually wants to be left alone, and MC respects her, like he should, and in an ideal VN, _that_ should be a choice, but no, it's all about vague choices that have butterfly effect repercussions.
  * Anyway, MC and his mom, who has briefly returned from her endless business trips, chat for a while, and suddenly, he, not having known what he wants to do after he graduates high school, comes up with psychology/therapy, and then, they chill at the restaurant where MC and Sayori were supposed to chill.
  * Then, Sayori starts going to therapy sessions alone, and MC wants to do homework on a Friday evening, but it's Mom who has to convince him to play games.
  * Do you think the problems with MC juggling Sayori time and Yuri time were over? Haha, not quite. You see, Yuri wants to spend time with MC, he excuses himself, and they both happen to run into each other, which sours things between them.
  * Anyway, it's back to Sayori, who has finally gathered the courage to tell others about her depression, gathering the whole club, but Yuri has been avoidant of the club because of the previous incident, so Sayori just tells her separately, and the two have to work the huge misunderstanding out, but luckily, Yuri is not that judgmental (except when she is).
  * Then, Mom reveals that she has to fly off, again, but who cares, the club is going on a picnic, and for the picnic, Yuri brings wine again - of course. And then, Monika brings up that she's leaving club leadership duties, and Sayori can be President next year - again, note that this is March, and Japanese school year begins on April 1st.
  * Also, I should note that there's a day, before the picnic, when for the first time, Sayori wakes up before MC does, and has made him breakfast - and also, has gotten help from Natsuki, so she didn't burn down the house.
  * Finally, MC and Sayori have the romantic evening that they didn't have on Valentine's, at the restaurant that Monika recommended each of them (on Sayori's insistence), and after that, at night, they... share a night, the end. (No, really, that's the good ending.)



Anyway, I don't even care to research where the part of the story common to all endings ends and the good ending begins (or even play the bad ending, but I've seen stuff online, and apparently, so much as Valentine's ends up being very lukewarm), and I'm too tired to tidy anything else up, and in general, I need a break from this - a _real_ break, where I don't worry about updating you at least every few months.

After all, I have other writing projects to focus on.

It's been a wild year, and I've been incredibly happy to share my observations with the few people that were willing to listen. And even though the fandom will go on and make new discoveries about the whole thing, at some point, I just have to... stop.

Hope you have a good one, and I'll see you on the other side.

**\- CreativityTheEmotion**

2020 02 14 - 2021 02 14 (D0875-1241)

**Works inspired by this one:**

  * [The Stanley Parable: Glitches, Exploits, and Quirks for the Common Stanley](https://archiveofourown.org/works/25851367) by [zeroBound](https://archiveofourown.org/users/zeroBound/pseuds/zeroBound)




End file.
